Wstęp
Po użyciu wtyczki hexo-submit-urls-to-search-engine
w Hexo, można aktywnie przesyłać nowe linki do bloga Hexo do platform dla webmasterów wyszukiwarek Google, Bing i Baidu, aby poprawić jakość i szybkość indeksowania witryny. Ta wtyczka pozwala na wysyłanie czystych, naturalnych, ekologicznych żądań indeksowania do głównych wyszukiwarek, co jest jednorazowym rozwiązaniem.
Na przykład, teraz mój artykuł czasami jest dostępny w wyszukiwarce Bing już 5 minut po publikacji (jest to najlepszy przypadek, nie gwarantuje długotrwałej stabilności). Widzicie, taka jest moc hexo-submit-urls-to-search-engine
. Baidu i Google są nieco wolniejsze.
Te trzy główne wyszukiwarki zajmują 97% globalnego rynku wyszukiwarek (w tym metawyszukiwarki Dogpile, Duckduckgo itp.; Yahoo, Ecosia itp. korzystają z indeksu Bing).
Ostrzeżenie
Nieprofesjonalne używanie innych podobnych kodów push może prowadzić do niebezpiecznych skutków ubocznych, w tym między innymi: deficytu bezpieczeństwa, zespołu nadmiarowego kodu, zespołu ponownego wynajdywania koła, zespołu czytania dokumentacji, zwątpienia w życie, depresji, bólu głowy, a nawet śmierci, rozproszenia duszy i anihilacji.
Oficjalna grupa dyskusyjna QQ i grupa Telegram nie są już dostępne. Zapraszamy do udziału w dyskusji na stronie Github issue.
Kroki operacyjne
Szybki start:
- Uzyskaj klucze z każdej platformy dla webmasterów
- Zainstaluj i skonfiguruj wtyczkę
hexo-submit-urls-to-search-engine
hexo clean && hexo g && hexo d
i sprawdź wyniki przesyłania- Jeśli przesyłanie zakończy się sukcesem, przejdź na adres Github i kliknij przycisk Star, aby wesprzeć projekt
- Przy okazji obserwuj projekt Github, aby otrzymywać powiadomienia o aktualizacjach wtyczki
- Możesz również kliknąć tutaj, aby przekazać darowiznę
Uzyskanie kluczy platform dla webmasterów
Klucze, które „zapiszesz” w tej sekcji, należy wpisać do _config.yml
hexo, a format podano poniżej.
Informacje o weryfikacji witryny: Niektóre motywy Hexo obsługują dodawanie tagów weryfikacyjnych HTML platformy dla webmasterów. Po wypełnieniu odpowiednich ustawień, wystarczy wykonać polecenie hexo g && hexo d
, aby dokonać weryfikacji. Ogólne szczegółowe kroki operacyjne znajdziesz w Google: hexo platforma dla webmasterów weryfikacja
Baidu
Baidu to chińska wyszukiwarka. O ile nie dokonasz skomplikowanej rejestracji strony internetowej w chińskich urzędach, witryna będzie trudna do zaindeksowania.
Jeśli serwer Twojej witryny znajduje się poza Chinami, zasadniczo nie ma możliwości zarejestrowania witryny.
Zapoznaj się ze starym dokumentem informacyjnym, aby dowiedzieć się, jak przesyłać linki do Baidu
Bing
Platforma dla webmasterów Bing dzieli się na nową i starą.
- Zarejestruj się i zaloguj na nowej platformie dla webmasterów Bing Bing Webmaster Tools
- Dodaj witrynę
- Przejdź do strony zarządzania witryną, ustawienia, dostęp API, klucz API, zapisz klucz API
(Ostatnio platforma dla webmasterów Bing została zaktualizowana, serwer i układ są niestabilne. Jeśli token nie jest wyświetlany, możesz spróbować ponownie za jakiś czas) Teraz platforma dla webmasterów została zaktualizowana do nowej wersji.
To jest schematyczny diagram uzyskiwania z starej platformy dla webmasterów Bing:
Jeśli serwer znajduje się w Chinach, pamiętaj, że serwer musi mieć dostęp do międzynarodowego internetu, aby móc przesyłać do Google.
Platforma dla webmasterów Google również dzieli się na nową i starą, ale relacje między tymi dwiema platformami nie są tak dobrze zarządzane jak w przypadku Bing. Ponadto używamy Google Indexing API, które nie jest dostarczane przez platformę dla webmasterów, ale należy do platformy programistycznej Google Developers. Podczas tego procesu możesz odnieść się do oficjalnej dokumentacji (dostępnej w Chinach kontynentalnych) w celu konfiguracji.
Kroki użycia:
- Otwórz oficjalny dokument i postępuj zgodnie z instrukcjami, aby utworzyć projekt i utworzyć konto usługi. Wystarczy skonfigurować ustawienia na stronie internetowej, nie trzeba wykonywać kolejnych operacji, takich jak uzyskiwanie tokena dostępu
Samo dodanie adresu e-mail uprawnień w nowym „Search Console” Google, zgodnie z oficjalną dokumentacją Google, nadal wyświetli komunikat „Brak uprawnień”. Przejdź do starego narzędzia dla webmasterów, kliknij swoją witrynę i dodaj adres e-mailTeraz możesz przesłać bezpośrednio na nowej platformie dla webmasterów.- Umieść uzyskany plik klucza JSON w katalogu głównym Hexo (w tym samym miejscu, co plik _config.yml Hexo)
Stare narzędzie Google dla webmasterów:
Ponadto w oficjalnej dokumentacji znajduje się następująca wskazówka. Zdecyduj, czy chcesz włączyć funkcję przesyłania linków do Google, w zależności od rzeczywistej sytuacji:
Obecnie Indexing API może być używane tylko do indeksowania stron internetowych zawierających JobPosting
lub BroadcastEvent
(zagnieżdżone w VideoObject
). W przypadku witryn internetowych zawierających wiele stron krótkoterminowych (takich jak ogłoszenia o pracę lub transmisje wideo na żywo), Indexing API będzie aktualizować treści w wynikach wyszukiwania, przesyłając aktualizacje dla różnych treści.
Szybki start z Indexing API | Centrum wyszukiwania Google | Google dla programistów
W każdym razie ja przesłałem. Jak Google może wiedzieć, że Twoja strona nie zawiera
ogłoszeń o pracę lub transmisji wideo na żywo
, jeśli nie ją zaindeksuje? Skoro ją zaindeksował, to dlaczego miałby marnować zasoby i porzucać już zaindeksowane informacje, nawet jeśli nie znalazłogłoszeń o pracę lub transmisji wideo na żywo
? Skoro ich używa, to osiągnęliśmy nasz cel. W praktycznym zastosowaniu wydaje się, że Google nie obniżał za to rankingu. Może Google zapomniał zaktualizować dokumentację? Na razie znalazłem w tym dokumencie dwa poważne błędy, które nie zostały poprawione od wielu lat.
Konfiguracja Hexo
Instalacja wtyczki
Uruchom w katalogu głównym Hexo:
Oczywiście, użycie
cnpm
w regionie Wielkich Chin jest szybsze.
npm install --save hexo-submit-urls-to-search-engine
Ta wtyczka obsługuje również instalację za pomocą yarn
:
yarn add hexo-submit-urls-to-search-engine
Edycja pliku _config.yml Hexo
hexo-submit-urls-to-search-engine
Skonfiguruj wtyczkę hexo-submit-urls-to-search-engine
, wklej poniższe do _config.yml
Hexo.
Wskazówka
Możesz oczywiście użyć zmiennych środowiskowych do zapisania kluczy, dzięki czemu nie zostaną one ujawnione, nawet jeśli kod źródłowy znajduje się w publicznym repozytorium.
hexo_submit_urls_to_search_engine:
submit_condition: count #Warunek przesyłania linków, możliwe wartości: count | period. Obecnie obsługiwane jest tylko count
count: 10 # Prześlij 10 najnowszych linków
period: 900 # Prześlij linki, których czas modyfikacji jest mniejszy niż 900 sekund
google: 0 # Czy przesyłać do Google, możliwe wartości: 1 | 0 (0: nie; 1: tak)
bing: 1 # Czy przesyłać do Bing, możliwe wartości: 1 | 0 (0: nie; 1: tak)
baidu: 1 # Czy przesyłać do Baidu, możliwe wartości: 1 | 0 (0: nie; 1: tak)
txt_path: submit_urls.txt ## Nazwa dokumentu tekstowego. Linki do przesłania będą zapisywane w tym dokumencie tekstowym
baidu_host: https://cjh0613.github.io ## Domena zarejestrowana na platformie dla webmasterów Baidu
baidu_token: Proszę postępować zgodnie z instrukcjami w dokumentacji, aby uzyskać token ## Pamiętaj, że to jest Twój klucz, więc nie publikuj go bezpośrednio w publicznym repozytorium!
bing_host: https://cjh0613.github.io ## Domena zarejestrowana na platformie dla webmasterów Bing
bing_enable_indexnow: false # Czy używać IndexNow do przesyłania linków do Bing: true (Tak) | false (Nie). Tylko wersja 2.1.1 i nowsze mogą włączyć tę funkcję.
bing_token: Proszę postępować zgodnie z instrukcjami w dokumentacji, aby uzyskać token ## Pamiętaj, że to jest Twój klucz, więc nie publikuj go bezpośrednio w publicznym repozytorium!
google_host: https://cjh0613.github.io ## Domena zarejestrowana na platformie dla webmasterów Google
google_key_file: Project.json #Plik JSON przechowujący klucz Google. Umieść go w katalogu głównym witryny (w tym samym miejscu, co plik _config.yml Hexo). Nie publikuj bezpośrednio zawartości pliku JSON w publicznym repozytorium!
google_proxy: http://127.0.0.1:8080 # Serwer proxy HTTP używany przez system do przesyłania adresów URL do Google. Ustaw na 0, aby nie korzystać
replace: 0 # Czy zastąpić część ciągów w linkach, możliwe wartości: 1 | 0 (0: nie; 1: tak)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Konsekwencje upublicznienia klucza
Twoi „wrogowie”, świadome sztuczne inteligencje, terroryści mogą użyć Twojego klucza do przesyłania linków do nieistniejących stron do wyszukiwarek. Spowoduje to wyczerpanie limitu i uniemożliwi normalne przesyłanie, a także obniży ranking Twojej witryny z powodu przesyłania martwych linków.
Uwagi
- submit_condition: Obsługuje dwa sposoby określania, czy przesyłać linki, czyli count | period. Odpowiednio zastosuj poniższe opcje konfiguracji count | period.
- period: Okres czasu w sekundach. Jeśli różnica między czasem aktualizacji artykułu a czasem uruchomienia tej wtyczki jest mniejsza niż ta wartość, jego link zostanie przesłany. Na przykład: istnieją dwa pliki a.html i b.html, odpowiednio do
https://yoursite.com/a.html
ihttps://yoursite.com/b.html
, a różnica między ich czasem aktualizacji a czasem uruchomienia tej wtyczki wynosi odpowiednio 800s i 1000s (pole period jest ustawione na 900), wówczashttps://yoursite.com/a.html
zostanie przesłane, ahttps://yoursite.com/b.html
nie zostanie przesłane. - google_proxy: Serwer proxy HTTP używany przez system do przesyłania adresów URL do Google, format:
http://proxyhost:port
, zmodyfikujproxyhost
iport
. W przypadku wdrożenia Hexo poza Chinami możesz ustawić na 0, aby nie korzystać. Jeśli korzystasz z oprogramowania do łączenia się z zagranicznymi serwerami,proxyhost
jest zazwyczaj ustawione na127.0.0.1
, aport
można sprawdzić w ustawieniach oprogramowania, zazwyczaj8080
. W systemie Win10 można to sprawdzić w Ustawieniach -> Proxy. - replace: Niektóre linki mogą być generowane nieprawidłowo (na przykład domeny chińskie, strona główna znajdująca się w
http://cjh0613.github.io/blog
itp.). Jest to prosta funkcja zastępowania, która zastępuje określony ciąg we wszystkich wygenerowanych linkach. W przykładziehttp://cjh0613.github.io/blog
zostanie zastąpione przezhttps://cjh0613.com
. Można również zastąpić chińską nazwę domeny nazwą domeny po transkodowaniu.
Aktualizacja uwag w tej sekcji 2020.7.12, dzięki sugestii liuyib Dodano google_proxy 2021.5.12
Po zakończeniu powyższej konfiguracji, podczas uruchamiania polecenia hexo generate
w katalogu głównym Hexo, zostanie wygenerowany plik .txt
do przechowywania linków do przesłania.
Możesz otworzyć ten plik, aby sprawdzić, czy linki są poprawne. Jeśli nie, odwiedź _config.yml
Hexo, aby dokonać konfiguracji. Możesz również ręcznie zmodyfikować ten plik .txt
, a następnie przesłać linki.
deploy
Jeśli wcześniej nie dodawałeś konfiguracji deploy:
, wklej poniższe bezpośrednio do _config.yml
Hexo, zastępując domyślną konfigurację deploy:
.
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Po wykonaniu tego kroku, uruchamiając polecenie hexo deploy
, linki będą automatycznie przesyłane do wyszukiwarek.
- Musisz uruchomić polecenie
hexo deploy
lubhexo d
, aby wywołać przesyłanie, niezależnie od tego, czy wcześniej używałeś tego polecenia do wdrożenia.
Oczywiście wcześniej musisz uruchomić hexo generate
, aby wygenerować najnowszy plik .txt do przechowywania linków do przesłania.
Jeśli przesyłanie zakończy się powodzeniem, przejdź do repozytorium Github i wesprzyj je gwiazdką, dziękuję!
Jeśli konfiguracja deploy:
została już ustawiona, wklejenie powyższego bloku kodu spowoduje wyświetlenie konfliktu konfiguracji. Po prostu dodaj go do istniejącej konfiguracji deploy:
. Na przykład:
deploy:
- type: git
repo:
coding: git@xxx
branch: master
#Dodaj konfigurację tej wtyczki:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Uwaga: przed każdym type:
znajduje się -
.
Obsługa ciągłej integracji
Ta sekcja zawiera informacje pomocnicze dla metody wdrażania Hexo, która jest przechowywana w publicznym repozytorium i jest kompilowana i publikowana za pomocą CI (ciągła integracja, np. Github action, travis, coding-ci, netlify itp.).
Baidu i Bing mogą wykorzystać zmienne środowiskowe do zapisywania kluczy, a Google ma inne rozwiązania, patrz poniżej
Pamiętaj, że jeśli używasz automatycznego wdrażania CI, musisz dodać updated:
do Front-matter każdej strony (obszar oddzielony ---
na górze pliku .md
, służący do określania zmiennych dla pojedynczych plików), aby poinformować Hexo o korekcie „czasu ostatniej modyfikacji artykułu”. Na przykład:
---
title: Hello World
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---
Dzieje się tak dlatego, że gdy plik znajduje się na komputerze lokalnym, jeśli nie ma updated:
, Hexo odczyta atrybuty pliku i użyje „czasu ostatniej modyfikacji pliku” jako „czasu ostatniej modyfikacji artykułu”, dzięki czemu będzie mógł normalnie określić i przesłać 10 najnowszych linków. Natomiast podczas automatycznego wdrażania CI, ponieważ wszystkie zasoby Hexo są właśnie klonowane na serwer, jeśli nie ma dodanego updated:
, Hexo również odczyta atrybuty pliku, ale w tym momencie czas ostatniej modyfikacji w atrybutach to całkowicie identyczny czas klonowania git. Hexo otrzyma błędny „czas ostatniej modyfikacji artykułu”, więc nie będzie mógł normalnie określić i przesłać najnowszych linków.
- Najpierw wypełnij wartością
0
konfiguracjebaidu_token:
ibing_token:
w konfiguracjihexo_submit_urls_to_search_engine:
- Ustaw zmienne środowiskowe
BAIDU_TOKEN
,BING_TOKEN
, a wartościami będą uzyskanetokeny
- Jeśli używasz Github Action, musisz również ustawić zmienne środowiskowe w pliku
yml
, poniżej znajduje się przykład hexo clean && hexo generate && hexo deploy
i ciesz się życiem
Odniesienie:
hexo_submit_urls_to_search_engine:
submit_condition: count #Warunek przesyłania linków, możliwe wartości: count | period. Obecnie obsługiwane jest tylko count
count: 10 # Prześlij 10 najnowszych linków
period: 900 # Prześlij linki, których czas modyfikacji jest mniejszy niż 900 sekund
google: 1 # Czy przesyłać do Google, możliwe wartości: 1 | 0 (0: nie; 1: tak)
bing: 1 # Czy przesyłać do Bing, możliwe wartości: 1 | 0 (0: nie; 1: tak)
baidu: 1 # Czy przesyłać do Baidu, możliwe wartości: 1 | 0 (0: nie; 1: tak)
txt_path: submit_urls.txt ## Nazwa dokumentu tekstowego. Linki do przesłania będą zapisywane w tym dokumencie tekstowym
baidu_host: https://en.cjh0613.com ## Domena zarejestrowana na platformie dla webmasterów Baidu
baidu_token: 0 ## Pamiętaj, że to jest Twój klucz, więc nie publikuj go bezpośrednio w publicznym repozytorium!
bing_host: https://en.cjh0613.com ## Domena zarejestrowana na platformie dla webmasterów Bing
bing_token: 0 ## Pamiętaj, że to jest Twój klucz, więc nie publikuj go bezpośrednio w publicznym repozytorium!
google_host: https://en.cjh0613.com ## Domena zarejestrowana na platformie dla webmasterów Google
google_key_file: Project.json #Plik JSON przechowujący klucz Google. Umieść go w katalogu głównym witryny (w tym samym miejscu, co plik _config.yml Hexo). Nie publikuj bezpośrednio zawartości pliku JSON w publicznym repozytorium!
google_proxy: 0 # Serwer proxy HTTP używany przez system do przesyłania adresów URL do Google. Ustaw na 0, aby nie korzystać
replace: 0 # Czy zastąpić część ciągów w linkach, możliwe wartości: 1 | 0 (0: nie; 1: tak)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action, musisz również ustawić zmienne środowiskowe w pliku yml
:
- name: xxxx #Wpisz cokolwiek
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Uwaga tutaj, reszta to mrzonka
BING_TOKEN: ${{ secrets.BING_TOKEN }} # Uwaga tutaj, reszta to mrzonka
run: |
npm i -g hexo-cli # Zainstaluj hexo
npm i
……
hexo deploy
Jeśli chodzi o przesyłanie linków do Google, w pliku klucza json
jest tak dużo informacji, kopiowanie, wklejanie i ustawianie zmiennych środowiskowych… jest to zbyt kłopotliwe. Umieściłem plik klucza json
w prywatnym repozytorium, a następnie sklonowałem go i skopiowałem do katalogu głównego, aby rozwiązać problem.
Aktualizacja wtyczki
Powiadomienia o aktualizacji wtyczki
Po zainstalowaniu tej wtyczki, obserwuj ten projekt na Github , aby otrzymywać powiadomienia o aktualizacjach wtyczki (wybierz opcję Releases only, aby otrzymywać tylko powiadomienia o aktualizacjach, wybór Watching spowoduje również przesyłanie wiadomości o problemach, żądaniach pull itp., wysyłanych za pośrednictwem wiadomości e-mail)
Aktualizacja
Uruchom w katalogu głównym Hexo:
Oczywiście, użycie
cnpm
w regionie Wielkich Chin jest szybsze.
npm install --save hexo-submit-urls-to-search-engine@wersja
Wcześniej podałem inne polecenie: npm update --save hexo-submit-urls-to-search-engine
, ale w praktyce wystąpił problem.
yarn
aktualizacja:
yarn add hexo-submit-urls-to-search-engine@wersja
Aktualizacja niekompatybilna
Ostrzeżenie
Czasami aktualizacje wtyczek nie są kompatybilne wstecz i mogą wymagać modyfikacji konfiguracji związanych z tą wtyczką w _config.yml
Hexo lub dokonania innych modyfikacji.
Sytuacja ta zwykle występuje, gdy zwiększa się liczba przed pierwszą kropką w numerze wersji. Na przykład, gdy ^1.0.0
jest aktualizowane do ^2.0.0
.
Aktualizacja z wersji 1.x.x do 2.x.x:
Musisz dodać trzy poniższe opcje konfiguracji do konfiguracji hexo_submit_urls_to_search_engine:
:
replace: 0 # Czy zastąpić część ciągów w linkach, możliwe wartości: 1 | 0 (0: nie; 1: tak)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Ok, okazuje się, że ta aktualizacja jest kompatybilna wstecz, nawet jeśli te trzy konfiguracje nie są obecne, nie zostaną zgłoszone żadne błędy…
Informacje zwrotne
Informacje o pomyślnym przesłaniu
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' } } }
Inne
Inne odpowiedzi można znaleźć w ich oficjalnej dokumentacji, ale po przetłumaczeniu odpowiedzi zwykle wiadomo, jaka jest przyczyna.
Czasami dzieje się tak, ponieważ wyszukiwarki zezwalają tylko na przesyłanie określonej liczby linków dziennie. Możesz sprawdzić to, logując się na ich oficjalnej stronie. Gdy zmieniłem domenę mojej witryny z cjh0613.github.io
na cjh0613.com, limit Bing wynosił 10 pozycji. Po przesyłaniu przez 10 kolejnych dni limit nagle zmienił się z 10 na 10000.
Jeśli przesyłanie niektórych linków nie powiedzie się, wykonaj je ręcznie: zmodyfikuj plik txt, który przechowuje linki do przesłania (zazwyczaj usuń pomyślnie przesłane linki) zgodnie z informacjami zwrotnymi, a następnie uruchom tylko hexo deploy
, aby ponownie przesłać. Nie musisz ponownie generować strony.
Jeśli chcesz codziennie przesyłać linki do wyszukiwarek, uruchom hexo d
każdego dnia lub możesz ustawić Github Action, aby uruchamiał hexo g && hexo d
każdego dnia, bez konieczności ponownego wynajdywania koła.
Sprawdzenie wyników
Sprawdzenie indeksu
Aby sprawdzić indeks tej witryny, otwórz dowolną wyszukiwarkę i wpisz site:domena
, czyli w tym przypadku:
site:cjh0613.github.io
i wyszukaj.
Czas, jaki zajmuje indeksowanie nowej witryny od 0 do 1 może być bardzo długi, może nawet miesiąc… Prosimy o cierpliwość.
Rzeczywista szybkość indeksowania zależy również od innych czynników. W Internecie dostępnych jest wiele informacji na temat SEO, ale wszystkie one opierają się na oficjalnych informacjach.
Sprawdzenie historii przesyłania
Bing
Możesz zalogować się na nową platformę dla webmasterów Bing, aby zobaczyć szczegółową listę przesłanych linków (aktualizowaną w czasie rzeczywistym):
https://www.bing.com/webmasters/submiturl?siteUrl=link-do-twojej-witryny
Możesz sprawdzić liczbę łącznie przesłanych linków i procent nieudanych przesyłań w określonym czasie (maksymalnie do 30 dni) tylko w tabeli „Błędy” pod poniższym adresem (aktualizowana w czasie rzeczywistym), chociaż podany jest wykres przedstawiający dane z każdego dnia, ale jest on bezużyteczny…
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=
Materiały referencyjne, z których korzystałem przy opracowywaniu tej wtyczki
Zapoznaj się ze starym dokumentem informacyjnym
Ten artykuł został przetłumaczony z chińskiego (uproszczonego) na polski za pomocą AI.