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.
Den offisielle QQ-gruppen og Telegram-gruppen er ikke lenger i drift. Gå til Github-issuesiden for å delta i diskusjonen.
Operasjonstrinn
Rask start:
- Skaff nøklene til hver webmasterplattform
- Installer og konfigurer
hexo-submit-urls-to-search-engine
-pluginen hexo clean && hexo g && hexo d
, og sjekk push-resultatene- Hvis pushingen er vellykket, gå til Github-adressen og klikk på Star-knappen for å støtte
- Følg med på Github-prosjektet for å få påminnelser om plugin-oppgraderinger
- 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.
- Registrer deg og logg på Bings nye webmasterplattform Bing Webmaster Tools
- Legg til nettsted
- Gå til nettstedets administrasjonsside, innstillinger, API-tilgang, API-nøkkel, og noter deg API-nøkkelen.
(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:
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:
- Å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.
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 derNå kan du sende inn direkte i den nye webmasterplattformen.- Plasser den hentede json-nøkkelfilen i hexos rotkatalog (samme sted som hexo _config.yml-filen)
Googles gamle webmasterverktøy for nettsteder:
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 finnerstillingsannonser 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
oghttps://dittnettsted.com/b.html
. Forskjellen mellom deres oppdateringstid og pluginens kjøretid er henholdsvis 800s og 1000s (period-feltet er satt til 900). Da vilhttps://dittnettsted.com/a.html
bli sendt inn, oghttps://dittnettsted.com/b.html
vil ikke bli det. - google_proxy: Systemets http-proxy som brukes til å sende nettadresser til Google, format:
http://proxyhost:port
, endreproxyhost
ogport
; hvis Hexo er distribuert i utlandet, kan du skrive inn 0 for ikke å bruke det. Hvis du bruker en vitenskapelig internettprogramvare, erproxyhost
vanligvis127.0.0.1
, ogport
kan sjekkes i programvarens innstillinger, vanligvis8080
. 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 erstatteshttp://cjh0613.github.io/blog
medhttps://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
ellerhexo 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.
- Fyll først ut
0
i konfigurasjonselementetbaidu_token:
ogbing_token:
tilhexo_submit_urls_to_search_engine:
- Angi miljøvariablene
BAIDU_TOKEN
ogBING_TOKEN
, og verdien ertoken
som du har fått. - Hvis du bruker Github Action, må du også sette miljøvariablene i
yml
-filen, det finnes et eksempel nedenfor. hexo clean && hexo generate && hexo deploy
og nyt livet
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)
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 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
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=