Forord

Etter at hexo har brukt hexo-submit-urls-to-search-engine-pluginen, kan nye lenker til Hexo-blogger aktivt skyves til Googles, Bings og Baidus søkemotorplattformer for å forbedre kvaliteten og hastigheten på nettstedets indeksering. Denne pluginen lar deg sende helt naturlige, plantebaserte indekseringsforespørsler til store søkemotorer, én gang for alle.

For eksempel kan en av mine artikler noen ganger bli funnet i Bing-søk så raskt som 5 minutter etter publisering (dette er det beste tilfellet, ingen garanti for langsiktig stabilitet). Se selv, det er dette som er kraften til hexo-submit-urls-to-search-engine. Baidu og Google er litt tregere.

Disse tre store søkemotorene har allerede 97 % av det globale søkemotormarkedet (inkludert metasøkemotorer som DuckDuckGo osv.; Yahoo og Ecosia som bruker Bing-indeksen).

Advarsel

Ikke-profesjonell bruk av andre lignende push-koder kan føre til farlige bivirkninger, inkludert, men ikke begrenset til: sikkerhetsfeilsyndrom, redundant kodesyndrom, gjenfinne-hjulet-syndrom, dokument-tyggingssyndrom, eksistensiell tvil, depresjon, hodepine, til og med død, sjelesplittelse og utslettelse.

Github-adresse

Den offisielle QQ-gruppen og Telegram-gruppen er ikke lenger i drift. Gå til Github-issuesiden for å delta i diskusjonen.

Operasjonstrinn

Rask start:

  1. Skaff nøklene til hver webmasterplattform
  2. Installer og konfigurer hexo-submit-urls-to-search-engine-pluginen
  3. hexo clean && hexo g && hexo d, og sjekk push-resultatene
  4. Hvis pushingen er vellykket, gå til Github-adressen og klikk på Star-knappen for å støtte
  5. Følg med på Github-prosjektet for å få påminnelser om plugin-oppgraderinger
  6. Du kan også klikke her for å gi en donasjon

Skaff deg nøkler for webmasterplattformen

Nøklene som er “notert” i denne delen skal fylles ut i hexos _config.yml, formatet er gitt senere.

Om bekreftelse av nettsted: Noen Hexo-temaer støtter å legge til html-bekreftelsestag for webmasterplattformen. Etter at du har fylt ut de relevante innstillingene, kan du bekrefte med hexo g && hexo d. For generelle detaljerte trinn, vennligst Google: hexo webmasterplattform bekreftelse

Baidu

Baidu er en kinesisk søkemotor. Med mindre du gjennomfører kompliserte nettstedsregistreringsprosedyrer i Kina, vil det være vanskelig for nettstedet å bli inkludert.

Hvis nettstedets server er lokalisert utenfor Kina, er det i utgangspunktet umulig å utføre nettstedsregistreringsprosedyrer.

Vennligst se de gamle instruksjonene for hvordan du sender inn lenker til Baidu

Bing

Bings webmasterplattform har en ny og en gammel versjon.

  1. Registrer deg og logg på Bings nye webmasterplattform Bing Webmaster Tools
  2. Legg til nettsted
  3. Gå til nettstedets administrasjonsside, innstillinger, API-tilgang, API-nøkkel, og noter deg API-nøkkelen.

Åpne innstillinger fra URL-innlevering

API-tilgangsgrensesnitt

Skaff deg API-nøkkelen fra Bings nye webmasterplattform

(I det siste har Bings webmasterplattform blitt oppgradert, serveren og layouten er ustabil, hvis token ikke vises, kan du prøve igjen senere) Den er nå oppgradert til den nye webmasterplattformen.

Dette er en skisse over hvordan du skaffer deg den fra Bings gamle webmasterplattform:

Skaff deg Bing-webmasterens API-nøkkel fra Bings gamle webmasterplattform

Google

Hvis serveren din er lokalisert i Kina, vær oppmerksom på at serveren din må ha tilgang til det internasjonale internett for å kunne sende til Google.

Googles webmasterplattform har også en ny og en gammel versjon, men forholdet mellom de to er ikke like godt håndtert som med Bing. I tillegg er Google Indexing API som vi bruker, ikke levert av webmasterplattformen, men tilhører Google developers Google-utviklingsplattformen. I prosessen kan du referere til den offisielle dokumentasjonen (tilgjengelig i Kina) for konfigurasjon.

Trinn for bruk:

  1. Åpne den offisielle dokumentasjonen, og følg instruksjonene for å opprette et prosjekt og en tjenestekonto. Du trenger bare å konfigurere operasjonen på nettstedet i henhold til instruksjonene, du trenger ikke å fullføre de påfølgende operasjonene som å hente tilgangstokener osv.
  2. Selv om du bare legger til en tillatelses-e-post i Googles nye “Search Console” i henhold til Googles offisielle dokumentasjon, vil du fortsatt få meldingen “Ingen tillatelse”. Gå til det gamle webmasterverktøyet for nettsteder, klikk på nettstedet ditt og legg til e-postadressen der Nå kan du sende inn direkte i den nye webmasterplattformen.
  3. Plasser den hentede json-nøkkelfilen i hexos rotkatalog (samme sted som hexo _config.yml-filen)

Googles gamle webmasterverktøy for nettsteder:

Det gamle webmasterverktøyet for nettsteder 1

Det gamle webmasterverktøyet for nettsteder 2

I tillegg har den offisielle dokumentasjonen følgende tips, vennligst bestem om du skal aktivere funksjonen for å sende inn lenker til Google i henhold til den faktiske situasjonen:

For øyeblikket kan Indexing API bare brukes til å crawle nettsider som inneholder JobPosting eller BroadcastEvent (kapslet i VideoObject). For nettsteder som inneholder mange kortvarige nettsider (som stillingsannonser eller live-videoer), vil Indexing API holde innholdet i søkeresultatene oppdatert ved å sende oppdateringer separat for forskjellig innhold.

Kom raskt i gang med Indexing API | Google Søk Central  |  Google for Developers

Uansett, jeg sendte den inn. Hvordan skal Google vite at nettsiden din ikke inneholder stillingsannonser eller live-videoer hvis de ikke crawler nettstedet? Siden de har crawlet den, selv om de ikke finner stillingsannonser eller live-videoer, hva er da grunnen til å sløse ressurser og ikke bruke den crawlede informasjonen? Siden de bruker den, har vi nådd vårt mål. I den faktiske bruksprosessen ser det ikke ut til at Google har redusert rangeringen for dette. Kanskje Google glemte å endre dokumentasjonen? For tiden har jeg funnet to alvorlige feil i denne dokumentasjonen som ikke har blitt endret på mange år.

Konfigurer hexo

Installer denne pluginen

Vennligst kjør følgende i hexos rotkatalog:

Selvfølgelig er nedlastingshastigheten raskere ved å bruke cnpm i Stor-Kina

npm install --save hexo-submit-urls-to-search-engine

Denne pluginen støtter også yarn installasjon:

yarn add hexo-submit-urls-to-search-engine

Rediger hexos _config.yml

hexo-submit-urls-to-search-engine

Konfigurer hexo-submit-urls-to-search-engine-pluginen, lim inn følgende i hexos _config.yml.

Tips

Du kan selvfølgelig bruke miljøvariabler til å angi nøkler, slik at selv om kildekoden legges i et offentlig depot, vil ikke nøklene lekkes.

hexo_submit_urls_to_search_engine:
  submit_condition: count # Betingelse for at lenker skal sendes inn, valgfrie verdier: count | period Støtter for øyeblikket kun count
  count: 10 # Send inn de 10 nyeste lenkene
  period: 900 # Send inn lenker som er endret innen 900 sekunder
  google: 0 # Om du skal sende til Google, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  bing: 1 # Om du skal sende til Bing, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  baidu: 1 # Om du skal sende til Baidu, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  txt_path: submit_urls.txt ## Navn på tekstdokumentet, lenkene som skal sendes inn vil bli lagret i dette tekstdokumentet
  baidu_host: https://cjh0613.github.io ## Domenet som er registrert i Baidus webmasterplattform
  baidu_token: Vennligst skaff deg den i henhold til instruksjonene i dokumentasjonen ## Vær oppmerksom på at dette er din hemmelige nøkkel, så vennligst ikke publiser den direkte i et offentlig depot!
  bing_host: https://cjh0613.github.io ## Domenet som er registrert i Bings webmasterplattform
  bing_enable_indexnow: false # Om du skal bruke indexNow til å sende lenker til Bing: true (Ja) | false (Nei). Denne funksjonen kan bare aktiveres i versjon 2.1.1 og nyere.
  bing_token: Vennligst skaff deg den i henhold til instruksjonene i dokumentasjonen ## Vær oppmerksom på at dette er din hemmelige nøkkel, så vennligst ikke publiser den direkte i et offentlig depot!
  google_host: https://cjh0613.github.io ## Domenet som er registrert i Googles webmasterplattform
  google_key_file: Project.json # json-filen som lagrer Google-nøkkelen, plassert i rotkatalogen til nettstedet (samme sted som hexo _config.yml-filen), vennligst ikke publiser innholdet i json-filen direkte i et offentlig depot!
  google_proxy: http://127.0.0.1:8080 # Systemets http-proxy som brukes til å sende nettadresser til Google, skriv inn 0 for ikke å bruke det
  replace: 0  # Om du skal erstatte deler av strengen i lenken, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

Konsekvensene av å publisere nøkkelen

Dine “fiender”, bevisste kunstig intelligens og terrorister kan bruke nøkkelen din til å sende lenker til ikke-eksisterende sider til søkemotorer. Dette vil både bruke opp kvoten din slik at du ikke kan sende normalt, og føre til at nettstedets vekt faller på grunn av innsending av døde lenker.

Kommentar

  • submit_condition: Støtter to metoder for å avgjøre om du skal sende inn lenker, nemlig count | period. De tilsvarende konfigurasjonselementene count | period nedenfor gjelder.
  • period: En tidsperiode i sekunder. Hvis forskjellen mellom artikkelens oppdateringstid og pluginens kjøretid er mindre enn denne verdien, vil lenken bli sendt inn. For eksempel: Det finnes to filer, a.html og b.html, som tilsvarer https://dittnettsted.com/a.html og https://dittnettsted.com/b.html. Forskjellen mellom deres oppdateringstid og pluginens kjøretid er henholdsvis 800s og 1000s (period-feltet er satt til 900). Da vil https://dittnettsted.com/a.html bli sendt inn, og https://dittnettsted.com/b.html vil ikke bli det.
  • google_proxy: Systemets http-proxy som brukes til å sende nettadresser til Google, format: http://proxyhost:port, endre proxyhost og port; hvis Hexo er distribuert i utlandet, kan du skrive inn 0 for ikke å bruke det. Hvis du bruker en vitenskapelig internettprogramvare, er proxyhost vanligvis 127.0.0.1, og port kan sjekkes i programvarens innstillinger, vanligvis 8080. Win10 kan sjekkes under Innstillinger->Proxy
  • replace: Noen lenker kan være feilgenererte (som kinesiske domenenavn, eller hovedsiden er plassert på http://cjh0613.github.io/blog osv.). Dette er en enkel og brutal erstatningsfunksjon, den vil erstatte den spesifiserte strengen i alle genererte lenker. I eksemplet erstattes http://cjh0613.github.io/blog med https://cjh0613.com. Det er også mulig å erstatte et kinesisk domenenavn med det transkriberte domenenavnet.

2020.7.12 Oppdaterte kommentaren i denne delen, takk til liuyib for forslaget. 2021.5.12 La til google_proxy

Etter å ha fullført de ovennevnte konfigurasjonene, når du kjører hexo generate-kommandoen i Hexo-rotkatalogen, vil det genereres en .txt-fil for å lagre lenkene som skal sendes inn.

Du kan åpne denne filen for å sjekke om lenkene er korrekte, hvis ikke, vennligst besøk hexos _config.yml for å konfigurere. Du kan også redigere denne .txt-filen manuelt før du sender inn lenkene.

deploy

Hvis du ikke har lagt til et deploy:-konfigurasjonselement før, limer du bare inn følgende i hexos _config.yml, for å overskrive det standard deploy:-konfigurasjonselementet.

deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter

Etter å ha fullført dette trinnet, vil lenkene automatisk bli sendt til søkemotorene når du kjører kommandoen hexo deploy.

  • Du må kjøre kommandoen hexo deploy eller hexo d for å utløse sendingen, uavhengig av om du har brukt denne kommandoen for distribusjon før.

Før dette må du selvfølgelig kjøre hexo generate for å generere den nyeste .txt-filen for å lagre lenkene som skal sendes inn.

Hvis den kan sendes inn, vennligst gå til Github -depotet og stjerne den for å gi litt støtte, takk!

Hvis du allerede har konfigurert deploy:-konfigurasjonselementet, vil det å lime inn den ovennevnte kodeblokken gi en konfliktmelding. Bare legg den til under det eksisterende deploy:-konfigurasjonselementet. For eksempel:

deploy:
- type: git
  repo: 
    coding: git@xxx
  branch: master 
  
  #Legg til konfigurasjonselementet for denne pluginen:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter

Merk: Det er en - før hver type: over.

Støtte for kontinuerlig integrasjon

Denne delen gir referanse for distribusjonsmetoder hvor hexo er lagret i et offentlig depot og kompileres og publiseres ved hjelp av CI (kontinuerlig integrasjon, som Github action, travis, coding-ci, netlify, etc.).

Baidu og Bing kan bruke miljøvariabler for å lagre nøkler, Google har andre løsninger, se nedenfor

Vær oppmerksom på at hvis du bruker CI for automatisk distribusjon, må du legge til updated: i Front-matter (området øverst i .md-filen som er skilt med --- for å angi variabler for individuelle filer) for hver side for å informere Hexo om å korrigere “artikkelens siste endringstid”, for eksempel:

---
title: Hei Verden
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---

Dette er fordi når filen plasseres på den lokale datamaskinen, hvis det ikke er en updated:, vil Hexo lese filegenskapene og bruke “filens siste endringstid” som “artikkelens siste endringstid”, noe som gjør det mulig å korrekt vurdere og sende inn de 10 nyeste lenkene; Når CI distribueres automatisk, fordi Hexo-ressursene bare klones til serveren, hvis updated: ikke er lagt til, vil Hexo også lese filegenskapene, men på dette tidspunktet er den siste endringstiden i egenskapene den samme som tidspunktet for git clone. Hexo får feil “artikkelens siste endringstid”, og vil ikke kunne vurdere og sende inn de nyeste lenkene riktig.

  1. Fyll først ut 0 i konfigurasjonselementet baidu_token: og bing_token: til hexo_submit_urls_to_search_engine:
  2. Angi miljøvariablene BAIDU_TOKEN og BING_TOKEN, og verdien er token som du har fått.
  3. Hvis du bruker Github Action, må du også sette miljøvariablene i yml-filen, det finnes et eksempel nedenfor.
  4. hexo clean && hexo generate && hexo deploy og nyt livet

Angi miljøvariabler

Referanse:

hexo_submit_urls_to_search_engine:
  submit_condition: count # Betingelse for at lenker skal sendes inn, valgfrie verdier: count | period Støtter for øyeblikket kun count
  count: 10 # Send inn de 10 nyeste lenkene
  period: 900 # Send inn lenker som er endret innen 900 sekunder
  google: 1 # Om du skal sende til Google, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  bing: 1 # Om du skal sende til Bing, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  baidu: 1 # Om du skal sende til Baidu, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  txt_path: submit_urls.txt ## Navn på tekstdokumentet, lenkene som skal sendes inn vil bli lagret i dette tekstdokumentet
  baidu_host: https://en.cjh0613.com ## Domenet som er registrert i Baidus webmasterplattform
  baidu_token: 0 ## Vær oppmerksom på at dette er din hemmelige nøkkel, så vennligst ikke publiser den direkte i et offentlig depot!
  bing_host: https://en.cjh0613.com ## Domenet som er registrert i Bings webmasterplattform
  bing_token: 0 ## Vær oppmerksom på at dette er din hemmelige nøkkel, så vennligst ikke publiser den direkte i et offentlig depot!
  google_host: https://en.cjh0613.com ## Domenet som er registrert i Googles webmasterplattform
  google_key_file: Project.json # json-filen som lagrer Google-nøkkelen, plassert i rotkatalogen til nettstedet (samme sted som hexo _config.yml-filen), vennligst ikke publiser innholdet i json-filen direkte i et offentlig depot!
  google_proxy: 0 # Systemets http-proxy som brukes til å sende nettadresser til Google, skriv inn 0 for ikke å bruke det
  replace: 0  # Om du skal erstatte deler av strengen i lenken, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

Github Action, du må også sette miljøvariabler i yml-filen:

- name: xxxx #Fyll inn hva som helst
  env:
    BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Merk deg denne, de andre er bare tull
    BING_TOKEN: ${{ secrets.BING_TOKEN }} # Merk deg denne, de andre er bare tull
  run: |
    npm i -g hexo-cli # Installer hexo
    npm i
    ……
    hexo deploy    

Når det gjelder å sende lenker til Google, er det så mye informasjon i json-nøkkelfilen, kopier og lim inn for å angi miljøvariabler … det er virkelig vanskelig. Jeg legger json-nøkkelfilen i et privat depot og kloner det, og kopierer det deretter til rotkatalogen for å løse det.

Oppgrader pluginen

Påminnelse om plugin-oppgradering

Etter at du har installert denne pluginen, vennligst se på dette prosjektet fra Github for å motta en påminnelse om plugin-oppgraderinger (velg Releases only for å kun motta påminnelser om oppgraderinger, hvis du velger Watching vil du også bli tilsendt Issues, Pull requests osv. via e-post)

Velg Releases only

Oppgraderingstrinn

Vennligst kjør følgende i hexos rotkatalog:

Selvfølgelig er nedlastingshastigheten raskere ved å bruke cnpm i Stor-Kina

npm install --save hexo-submit-urls-to-search-engine@versjon

Kommandoen jeg ga ut tidligere var en annen: npm update --save hexo-submit-urls-to-search-engine, men jeg hadde problemer da jeg testet den.

yarn-oppgradering:

yarn add hexo-submit-urls-to-search-engine@versjon

Ikke-kompatibel oppgradering

Advarsel

Noen ganger er plugin-oppgraderinger ikke bakoverkompatible, noe som kan kreve at du endrer konfigurasjonselementene som er relatert til denne pluginen i hexos _config.yml eller gjør andre endringer. Dette skjer vanligvis når det første tallet før desimaltegnet i versjonsnummeret økes. For eksempel fra ^1.0.0 til ^2.0.0.

Oppgradering fra 1.x.x til 2.x.x:

Du må legge til de følgende tre konfigurasjonselementene i hexo_submit_urls_to_search_engine:-konfigurasjonselementet:

  replace: 0  # Om du skal erstatte deler av strengen i lenken, valgfrie verdier: 1 | 0 (0: nei; 1: ja)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

Vel, jeg fant ut at denne oppgraderingen er bakoverkompatibel, selv om disse tre konfigurasjonselementene ikke er der, vil det ikke oppstå noen feil…

Returinformasjon

Vellykket push-informasjon

Bing

Bing response:  { d: null }

Google

Google response:  { urlNotificationMetadata:
   { url:
      'https://cjh0613.github.io',
     latestUpdate:
      { url:
         'https://cjh0613.github.io',
        type: 'URL_UPDATED',
        notifyTime: '2020-06-12T05:37:25.701779228Z' } } }

Annet

Du kan referere til den offisielle dokumentasjonen for annen informasjon, men vanligvis finner du ut grunnen ved å oversette det som returneres.

Noen ganger er det fordi søkemotorene bare tillater et visst antall lenker per dag. Du kan logge inn på deres offisielle nettsider for å sjekke. Etter at jeg endret nettstedsdomenet mitt cjh0613.github.io til cjh0613.com, var Bing-kvoten 10, etter at jeg hadde sendt inn kontinuerlig i 10 dager, endret kvoten seg plutselig fra 10 til 10 000.

Hvis noen lenker ikke sendes inn, vennligst håndter det manuelt: I henhold til tilbakemeldingen, endre txt-en som lagrer lenkene som skal sendes inn (vanligvis ved å fjerne de lenkene som er sendt inn), og deretter bare kjør hexo deploy for å sende inn på nytt, du trenger ikke å generere nettstedet på nytt.

Hvis du vil sende lenker til søkemotorer hver dag, er det bare å kjøre hexo d hver dag. Du kan også konfigurere Github Action til å kjøre hexo g && hexo d hver dag, du trenger ikke å finne opp hjulet på nytt.

Søkeresultater

Søk etter indeks

For å søke etter indeksen til dette nettstedet, åpne hvilken som helst søkemotor og skriv inn site:domene, her er det:

site:cjh0613.github.io

Du kan søke etter dette.

Det kan ta lang tid før et nytt nettstedindekseringsvolum går fra 0→1, kanskje en måned … vær tålmodig

Den faktiske indekseringshastigheten er også relatert til andre faktorer. Det finnes mye SEO-informasjon på nettet, men det er sentrert rundt den offisielle dokumentasjonen.

Søk etter sendingshistorikk

Bing

Du kan logge inn på Bings nye webmasterplattform for å se en detaljert liste over innsendte lenker (oppdateres i sanntid):

https://www.bing.com/webmasters/submiturl?siteUrl=dinnettstedlenke

Bing-sendingshistorikk og søk etter gjenværende kvote

Google

Du kan bare sjekke det kumulative antallet innsendte lenker og prosentandelen av mislykkede innsendinger (oppdateres i sanntid) i en periode (maks. nesten 30 dager) i “Feil”-tabellen på adressen nedenfor. Selv om den har gitt et diagram med daglige innleveringsdata, tilsvarer det å ikke gi noe i det hele tatt …

https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=

Google-søk etter antall innsendte lenker

Referansene jeg brukte for å utvikle denne pluginen

Vennligst se den gamle instruksjonsdokumentasjonen