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.

Github-adresse

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:

  1. Hent nøgler til hver webmasterplatform
  2. Installer og konfigurer hexo-submit-urls-to-search-engine plugin’et
  3. hexo clean && hexo g && hexo d, og tjek resultaterne af push’et
  4. Hvis push’et lykkedes, gå til Github-adressen og klik på knappen Star for at støtte
  5. Watch Github-projektet for at få påmindelser om plugin-opgraderinger
  6. 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.

  1. Registrer og log ind på den nye Bing Webmaster Platform Bing Webmaster Tools
  2. Tilføj et websted
  3. Gå til webstedsadministrationssiden, Indstillinger, API-adgang, API-nøgle, og noter API-nøglen

Indstillinger åbnes fra URL-indsendelse

API-adgangsside

Få en API-nøgle fra den nye Bing Webmaster Platform

(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:

Få Bing Webmaster API-nøglen fra den gamle Bing Webmaster Platform

Google

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:

  1. Å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.
  2. 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 det Nu kan du indsende det direkte i den nye Webmaster Platform.
  3. Læg den hentede JSON-nøglefil i hexos rodmappe (samme placering som hexo _config.yml-filen)

Googles gamle Webmasterværktøj:

Det gamle Webmasterværktøj 1

Det gamle Webmasterværktøj 2

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 finder jobopslag 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 og https://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 vil https://yoursite.com/a.html blive indsendt, og https://yoursite.com/b.html vil ikke.
  • google_proxy: Systemets HTTP-proxy, der bruges til at indsende webadresser til Google, format: http://proxyhost:port, rediger proxyhost og port; Hvis Hexo er installeret i udlandet, kan du skrive 0 for ikke at bruge. Når du bruger videnskabelig internetadgang, er proxyhost normalt 127.0.0.1, og port kan ses i softwareindstillingerne, normalt 8080. 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 erstattes http://cjh0613.github.io/blog med https://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 eller hexo 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.

  1. Udfyld først 0 i konfigurationselementerne baidu_token: og bing_token: i hexo_submit_urls_to_search_engine:
  2. Indstil miljøvariablerne BAIDU_TOKEN, BING_TOKEN, og værdierne er de hentede tokens
  3. Hvis du bruger Github Action, skal du også indstille miljøvariabler i yml-filen. Der er et eksempel nedenfor
  4. hexo clean && hexo generate && hexo deploy og nyd livet

Indstil miljøvariabler

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)

Vælg Kun udgivelser

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

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

Søgning i Bing-push-historik og resterende kvote

Google

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=

Søgning i Google-push antal af links

Referencematerialer til udviklingen af dette plugin

Se venligst det gamle dokument