Forord
Efter at have brugt hexo-submit-urls-to-search-engine
plugin’et med hexo, kan nye links fra Hexo-blogs aktivt pushes til Google, Bing og Baidu søgemaskiners webmasterplatforme for at forbedre kvaliteten og hastigheden af webstedsindeksering. Dette plugin giver dig mulighed for at sende indekseringsanmodninger til store søgemaskiner, der er helt naturlige, plantebaserede.
For eksempel, er en af mine artikler nogle gange søgbar på Bing blot 5 minutter efter offentliggørelse (dette er det bedste tilfælde, der ikke garanteres at være stabilt på lang sigt). Se, det er kraften i hexo-submit-urls-to-search-engine
. Baidu og Google er lidt langsommere.
Disse tre store søgemaskiner har besat 97% af det globale søgemaskinemarked (inklusive metasøgemaskiner som DuckDuckGo osv.; Yahoo, Ecosia osv., der bruger Bing-indeks).
Advarsel
Ikke-professionel brug af andre lignende push-koder kan føre til farlige bivirkninger, herunder, men ikke begrænset til: sikkerhedsdefektsyndrom, redundant kodesyndrom, genopfindelse af hjulet-syndrom, dokument-gnave-syndrom, eksistentiel krise, depression, hovedpine og endda død, sjælefordrivelse og udslettelse.
Den officielle QQ-gruppe og Telegram-gruppe er ophørt med at fungere. Gå til Github-issuesiden for at deltage i diskussionen.
Betjeningsskridt
Hurtig start:
- Hent nøgler til hver webmasterplatform
- Installer og konfigurer
hexo-submit-urls-to-search-engine
plugin’et hexo clean && hexo g && hexo d
, og tjek resultaterne af push’et- Hvis push’et lykkedes, gå til Github-adressen og klik på knappen Star for at støtte
- Watch Github-projektet for at få påmindelser om plugin-opgraderinger
- Du kan også klikke her for at give drikkepenge
Få webmasterplatformsnøgler
De nøgler, der er “noteret” i dette afsnit, skal alle udfyldes i hexos _config.yml
, formatet er angivet senere.
Om verificering af websteder: Nogle Hexo-temaer understøtter tilføjelse af HTML-verificerings-tags til webmasterplatforme. Når de relevante indstillinger er udfyldt, kan hexo g && hexo d
verificere. For generelle detaljerede betjeningstrin, se Google selv: hexo webmaster platform verification
.
Baidu
Baidu er en søgemaskine i Kina. Medmindre du gennemgår komplicerede website-registreringsprocedurer hos de kinesiske myndigheder, er det svært for websteder at blive indekseret.
Hvis din webstedsserver er placeret uden for Kina, er det stort set umuligt at gennemføre webstedets registreringsprocedurer.
Se venligst det gamle dokument for at lære, hvordan du sender links til Baidu
Bing
Bing Webmaster Platform er opdelt i nye og gamle versioner.
- Registrer og log ind på den nye Bing Webmaster Platform Bing Webmaster Tools
- Tilføj et websted
- Gå til webstedsadministrationssiden, Indstillinger, API-adgang, API-nøgle, og noter API-nøglen
(Bing Webmaster Platform er for nylig blevet opgraderet, og serveren og layoutet er ustabile. Hvis token’et ikke kan vises, kan du prøve igen efter et stykke tid) Det er nu blevet opgraderet til den nye Webmaster Platform.
Dette er et skematisk diagram over, hvordan man får det fra den gamle Bing Webmaster Platform:
Hvis din server er placeret i Kina, skal du være opmærksom på, at din server skal kunne få adgang til det internationale internet for at kunne pushe til Google.
Google Webmaster Platform er også opdelt i nye og gamle versioner, men forholdet mellem de to er ikke så godt håndteret som hos Bing. Derudover er den Google Indexing API, vi bruger, ikke leveret af Webmaster Platform, men hører til Google Developers Google udviklerplatform. I processen kan du henvise til den officielle dokumentation (tilgængelig i det kinesiske fastland) for at konfigurere.
Brugstrin:
- Åbn den officielle dokumentation og følg anvisningerne for at oprette et projekt og en tjenestekonto. Du skal kun følge anvisningerne for at konfigurere på webstedet, du behøver ikke at fuldføre efterfølgende operationer, såsom at få adgangstokens.
Selvom du kun tilføjer en e-mail-tilladelse i Googles nye “Search Console” i henhold til Googles officielle dokumentation, vil du stadig blive bedt om “ingen tilladelse”. Gå til det gamle Webmasterværktøj, klik på dit websted, og føj e-mailadressen til detNu kan du indsende det direkte i den nye Webmaster Platform.- Læg den hentede JSON-nøglefil i hexos rodmappe (samme placering som hexo _config.yml-filen)
Googles gamle Webmasterværktøj:
Derudover er der følgende tip i den officielle dokumentation. Beslut dig i henhold til den faktiske situation, om du vil aktivere funktionen til at indsende links til Google:
I øjeblikket kan Indexing API kun bruges til at crawle websider, der indeholder JobPosting
eller BroadcastEvent
(indlejret i VideoObject
). For websteder, der indeholder mange kortvarige websider (såsom jobopslag eller live videoer), holder Indexing API indholdet i søgeresultaterne opdateret ved at pushe opdateringer separat for forskelligt indhold.
Hurtig start til Indexing API | Google Søgecenter | Google for udviklere
Jeg har i hvert fald indsendt det. Hvis Google ikke crawler dit websted, hvordan ved de så, at dine websider ikke indeholder
jobopslag eller live videoer
? Når de alligevel crawler det, og de ikke finderjobopslag eller live videoer
, hvorfor så spilde ressourcer og kassere den crawlede information? Når vi bruger det, er vores formål nået. I selve brugsprocessen ser det ud til, at Google ikke har reduceret rettighederne for det. Måske har Google glemt at ændre dokumentet? Jeg har indtil videre fundet to alvorlige fejl i dette dokument, der ikke er blevet rettet i mange år.
Konfigurer hexo
Installer dette plugin
Kør venligst følgende i hexos rodmappe:
I det kinesiske område er downloadhastigheden hurtigere, når man bruger
cnpm
npm install --save hexo-submit-urls-to-search-engine
Dette plugin understøtter også yarn
-installation:
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
plugin’et, og indsæt nedenstående i hexos _config.yml
.
Tip
Du kan naturligvis bruge miljøvariabler til at indstille optagelsesnøgler, så selvom kildekoden er i et offentligt lager, bliver nøglerne ikke lækket.
hexo_submit_urls_to_search_engine:
submit_condition: count #Betingelsen for, at linket indsendes, valgmuligheder: count | period. Kun count understøttes i øjeblikket.
count: 10 # Indsend de 10 seneste links
period: 900 # Indsend links, hvis ændringstid er inden for 900 sekunder
google: 0 # Om der skal indsendes til Google, valgmuligheder: 1 | 0 (0: nej; 1: ja)
bing: 1 # Om der skal indsendes til Bing, valgmuligheder: 1 | 0 (0: nej; 1: ja)
baidu: 1 # Om der skal indsendes til Baidu, valgmuligheder: 1 | 0 (0: nej; 1: ja)
txt_path: submit_urls.txt ## Navnet på tekstdokumentet. De links, der skal pushes, gemmes i dette tekstdokument
baidu_host: https://cjh0613.github.io ## Domænenavnet registreret i Baidu Webmaster Platform
baidu_token: Venligst få det i henhold til dokumentets beskrivelse. ## Bemærk venligst, at dette er din nøgle, så lad være med at offentliggøre det direkte i det offentlige lager!
bing_host: https://cjh0613.github.io ## Domænenavnet registreret i Bing Webmaster Platform
bing_enable_indexnow: false # Om du vil bruge indexNow til at indsende links til Bing: true (Ja) | false (Nej). Denne funktion kan kun aktiveres i version 2.1.1 og nyere.
bing_token: Venligst få det i henhold til dokumentets beskrivelse. ## Bemærk venligst, at dette er din nøgle, så lad være med at offentliggøre det direkte i det offentlige lager!
google_host: https://cjh0613.github.io ## Domænenavnet registreret i Google Webmaster Platform
google_key_file: Project.json #JSON-fil, der indeholder Google-nøglen, placeret i webstedets rodmappe (samme placering som hexo _config.yml-filen). Lad være med at offentliggøre indholdet af JSON-filen direkte i det offentlige lager!
google_proxy: http://127.0.0.1:8080 # System HTTP-proxy brugt til at sende webadresser til Google. Skriv 0 for ikke at bruge.
replace: 0 # Om der skal erstattes en del af strengen i linket, valgmuligheder: 1 | 0 (0: nej; 1: ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Konsekvenserne af at offentliggøre din nøgle
Dine “fjender”, selvbevidst kunstig intelligens eller terrorister kan bruge din nøgle til at pushe ikke-eksisterende sidelinks til søgemaskiner. Ikke alene bruger de din kvote, så du ikke kan pushe normalt, men de kan også få din webstedsautoritet til at falde, fordi de pusher døde links
Kommentarer
- submit_condition: Understøtter to måder til at bestemme, om et link skal indsendes, nemlig count | period. Anvend henholdsvis count | period-konfigurationen nedenfor
- period: En periode i sekunder. Hvis forskellen mellem en artikels opdateringstidspunkt og plugin’ets driftstidspunkt er mindre end denne værdi, vil linket blive indsendt. For eksempel: Der er to filer, a.html og b.html, der svarer til henholdsvis
https://yoursite.com/a.html
oghttps://yoursite.com/b.html
. Forskellen mellem deres opdateringstidspunkt og plugin’ets driftstidspunkt er henholdsvis 800 sekunder og 1000 sekunder (period-feltet er indstillet til 900). I dette tilfælde vilhttps://yoursite.com/a.html
blive indsendt, oghttps://yoursite.com/b.html
vil ikke. - google_proxy: Systemets HTTP-proxy, der bruges til at indsende webadresser til Google, format:
http://proxyhost:port
, redigerproxyhost
ogport
; Hvis Hexo er installeret i udlandet, kan du skrive 0 for ikke at bruge. Når du bruger videnskabelig internetadgang, erproxyhost
normalt127.0.0.1
, ogport
kan ses i softwareindstillingerne, normalt8080
. I Win10 kan du se det under Indstillinger->Proxy. - replace: Nogle links kan blive genereret forkert (såsom kinesiske domænenavne, hvor startsiden er placeret på
http://cjh0613.github.io/blog
, osv.). Dette er en simpel og brutal erstatningsfunktion, der erstatter den angivne streng i alle de genererede links. I eksemplet erstatteshttp://cjh0613.github.io/blog
medhttps://cjh0613.com
. Du kan også erstatte kinesiske domænenavne med de domænenavne, der er blevet transkoderet.
2020.7.12 Opdaterede kommentarerne i dette afsnit, tak til liuyib for at give forslag 2021.5.12 Tilføjede google_proxy
Efter at have fuldført ovenstående konfiguration, når du kører kommandoen hexo generate
i Hexos rodmappe, genereres en .txt
-fil til at gemme de links, der skal pushes.
Du kan åbne denne fil for at se, om linkene er korrekte. Hvis de ikke er korrekte, skal du gå til hexos _config.yml
for at konfigurere dem. Du kan også manuelt redigere denne .txt
-fil, før du pusher linkene.
deploy
Hvis du ikke har tilføjet konfigurationselementet deploy:
før, skal du blot indsætte nedenstående i hexos _config.yml
og overskrive standardkonfigurationselementet deploy:
.
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Når du har gennemført dette trin, kan du automatisk pushe links til søgemaskiner, når du kører kommandoen hexo deploy
.
- Du skal køre kommandoen
hexo deploy
ellerhexo d
for at udløse et push, uanset om du har brugt denne kommando til at installere før.
Selvfølgelig skal du først køre hexo generate
for at generere den nyeste .txt-fil, der skal gemme de links, der skal pushes.
Hvis du kan pushe med succes, skal du gå til Github -lageret og stjerne det som støtte, tak!
Hvis du allerede har indstillet deploy:
-konfigurationselementet, vil indsættelse af ovenstående kodeblok direkte føre til en meddelelse om konflikt i konfigurationen. Du skal bare tilføje det under det eksisterende deploy:
-konfigurationselement. For eksempel:
deploy:
- type: git
repo:
coding: git@xxx
branch: master
#Tilføj konfigurationselementerne for dette plugin:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Bemærk: Der er -
foran hver type:
ovenfor.
Understøttelse af kontinuerlig integration
Dette afsnit giver en reference til den installationsmetode, hvor hexo er gemt i et offentligt lager og kompileret og udgivet med CI (kontinuerlig integration, såsom Github-action, travis, coding-ci, netlify osv.).
Baidu og Bing kan bruge miljøvariabler til at registrere nøgler, og Google har andre løsninger. Se nedenfor.
Bemærk, at hvis du bruger automatisk CI-installation, skal du tilføje updated:
til Front-matter på hver side (området øverst i .md
-filen, adskilt af ---
, der bruges til at angive variabler for individuelle filer) for at fortælle Hexo om at rette “tidspunktet for seneste ændring af artiklen”. For eksempel:
---
title: Hello World
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---
Dette skyldes, at når filen er placeret på den lokale computer, hvis der ikke er noget updated:
, vil Hexo læse filegenskaberne og bruge “tidspunktet for seneste ændring af filen” som “tidspunktet for seneste ændring af artiklen”, og den kan normalt bedømme og indsende de 10 seneste links. Når CI installeres automatisk, fordi Hexo-ressourcer alle er klonet til serveren, hvis updated:
ikke tilføjes, vil Hexo også læse filegenskaberne, men på dette tidspunkt er tidspunktet for den seneste ændring i egenskaberne nøjagtigt det samme tidspunkt for git-klonen. Hexo får et forkert “tidspunkt for seneste ændring af artiklen” og kan ikke bedømme og indsende de seneste links normalt.
- Udfyld først
0
i konfigurationselementernebaidu_token:
ogbing_token:
ihexo_submit_urls_to_search_engine:
- Indstil miljøvariablerne
BAIDU_TOKEN
,BING_TOKEN
, og værdierne er de hentedetokens
- Hvis du bruger Github Action, skal du også indstille miljøvariabler i
yml
-filen. Der er et eksempel nedenfor hexo clean && hexo generate && hexo deploy
og nyd livet
Reference:
hexo_submit_urls_to_search_engine:
submit_condition: count #Betingelsen for, at linket indsendes, valgmuligheder: count | period. Kun count understøttes i øjeblikket.
count: 10 # Indsend de 10 seneste links
period: 900 # Indsend links, hvis ændringstid er inden for 900 sekunder
google: 1 # Om der skal indsendes til Google, valgmuligheder: 1 | 0 (0: nej; 1: ja)
bing: 1 # Om der skal indsendes til Bing, valgmuligheder: 1 | 0 (0: nej; 1: ja)
baidu: 1 # Om der skal indsendes til Baidu, valgmuligheder: 1 | 0 (0: nej; 1: ja)
txt_path: submit_urls.txt ## Navnet på tekstdokumentet. De links, der skal pushes, gemmes i dette tekstdokument
baidu_host: https://en.cjh0613.com ## Domænenavnet registreret i Baidu Webmaster Platform
baidu_token: 0 ## Bemærk venligst, at dette er din nøgle, så lad være med at offentliggøre det direkte i det offentlige lager!
bing_host: https://en.cjh0613.com ## Domænenavnet registreret i Bing Webmaster Platform
bing_token: 0 ## Bemærk venligst, at dette er din nøgle, så lad være med at offentliggøre det direkte i det offentlige lager!
google_host: https://en.cjh0613.com ## Domænenavnet registreret i Google Webmaster Platform
google_key_file: Project.json #JSON-fil, der indeholder Google-nøglen, placeret i webstedets rodmappe (samme placering som hexo _config.yml-filen). Lad være med at offentliggøre indholdet af JSON-filen direkte i det offentlige lager!
google_proxy: 0 # System HTTP-proxy brugt til at sende webadresser til Google. Skriv 0 for ikke at bruge.
replace: 0 # Om der skal erstattes en del af strengen i linket, valgmuligheder: 1 | 0 (0: nej; 1: ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action, du skal også indstille miljøvariabler i yml
-filen:
- name: xxxx #Indsæt vilkårligt
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Vær opmærksom på dette, de andre er bare for sjov
BING_TOKEN: ${{ secrets.BING_TOKEN }} # Vær opmærksom på dette, de andre er bare for sjov
run: |
npm i -g hexo-cli # Installer hexo
npm i
……
hexo deploy
Hvad angår push af links til Google, er der så mange oplysninger i json
-nøglefilen. Kopier og indsæt for at indstille miljøvariablerne… det er virkelig besværligt. Jeg lægger json
-nøglefilen i et privat lager og kloner den derefter og kopierer den til rodmappen for at løse problemet.
Plugin-opgradering
Påmindelse om plugin-opgradering
Når du har installeret dette plugin, skal du watche dette projekt fra Github for at få påmindelser om plugin-opgraderinger (vælg Kun udgivelser for kun at få påmindelser om opgraderinger, valg af Watching pusher også Issues, Pull requests osv., sendt via e-mail)
Opgraderingsprocedure
Kør venligst følgende i hexos rodmappe:
I det kinesiske område er downloadhastigheden hurtigere, når man bruger
cnpm
npm install --save hexo-submit-urls-to-search-engine@version
Det er en anden kommando, jeg har givet før: npm update --save hexo-submit-urls-to-search-engine
, men jeg havde et problem, da jeg testede den.
yarn
-opgradering:
yarn add hexo-submit-urls-to-search-engine@version
Inkompatibel opgradering
Advarsel
Nogle gange er plugin-opgraderinger ikke bagudkompatible, og det kan være nødvendigt for dig at ændre de konfigurationselementer, der er relateret til dette plugin, i hexos _config.yml
eller foretage andre ændringer.
Denne situation ledsages normalt af en stigning i tallet før det første decimaltegn i versionsnummeret. F.eks. opgradering fra ^1.0.0
til ^2.0.0
.
Opgradering fra 1.x.x til 2.x.x:
Du skal tilføje de følgende tre konfigurationselementer til hexo_submit_urls_to_search_engine:
-konfigurationselementet:
replace: 0 # Om der skal erstattes en del af strengen i linket, valgmuligheder: 1 | 0 (0: nej; 1: ja)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Ok, jeg har fundet ud af, at denne opgradering er bagudkompatibel, og at den ikke giver en fejl, selvom disse tre konfigurationselementer ikke er der…
Returinformation
Succesfuld push-information
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' } } }
Andet
Andre returneringer kan referere til deres officielle dokumentation, men generelt ved du årsagen, hvis du oversætter returneringen.
Nogle gange er det fordi, at søgemaskiner kun tillader, at et bestemt antal links indsendes hver dag. Du kan logge ind på deres officielle websted for at se det. Efter at jeg ændrede mit websteds domænenavn cjh0613.github.io
til cjh0613.com, var Bing-kvoten 10. Efter at have pushet kontinuerligt i 10 dage, ændrede kvoten sig pludselig fra 10 til 10.000.
Hvis nogle links ikke kunne pushes, skal du håndtere dem manuelt: Rediger txt’en, der gemmer de links, der skal indsendes i henhold til tilbagemeldingerne (fjern generelt de links, der er pushed med succes), og kør derefter kun hexo deploy
for at pushe igen. Det er ikke nødvendigt at generere webstedet igen.
Hvis du vil pushe links til søgemaskiner hver dag, skal du køre hexo d
hver dag. Du kan også indstille Github Action til at køre hexo g && hexo d
hver dag. Det er ikke nødvendigt at opfinde hjulet.
Søgeresultater
Søg efter indeks
Tag søgning efter dette websteds indeks som et eksempel, åbn en søgemaskine, og skriv site:domænenavn
. Her er det:
site:cjh0613.github.io
Søg bare.
Tiden det tager for en ny webstedsindeks mængde at gå fra 0 til 1 kan være meget lang, måske en måned… vær tålmodig.
Den faktiske indekseringshastighed er også relateret til andre faktorer. Der er mange SEO-oplysninger online, men de er alle baseret på den officielle forklaring.
Søg efter push-historik
Bing
Du kan logge ind på den nye Bing Webmaster Platform for at finde en detaljeret liste over pushes (opdateres i realtid):
https://www.bing.com/webmasters/submiturl?siteUrl=dit webstedslink
Du kan kun søge i tabellen “Fejl” på nedenstående adresse efter det samlede antal pushes og den procentdel af mislykkede pushes i en periode (højst de seneste 30 dage) (opdateres i realtid). Selvom der er en graf over daglige indsendte data, svarer det til, at der ikke er nogen…
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=