Introducción
Después de usar el plugin hexo-submit-urls-to-search-engine
en hexo, se pueden enviar activamente nuevos enlaces de blogs de Hexo a las plataformas para webmasters de los motores de búsqueda de Google, Bing y Baidu para mejorar la calidad y la velocidad de indexación del sitio web. Este plugin te permite enviar solicitudes de indexación naturales y de alimentación vegetal a los principales motores de búsqueda, de una vez por todas.
Por ejemplo, ahora uno de mis artículos a veces se puede encontrar en Bing apenas 5 minutos después de su publicación (este es el mejor de los casos, no se garantiza la estabilidad a largo plazo). Como ves, este es el poder de hexo-submit-urls-to-search-engine
. Baidu y Google son un poco más lentos.
Estos tres principales motores de búsqueda ya ocupan el 97% de la cuota del mercado mundial de motores de búsqueda (incluidos los meta motores de búsqueda Duckduckgo, etc.; Yahoo, Ecosia, etc. que utilizan el índice de Bing).
Advertencia
El uso no profesional de otro código de envío similar puede provocar efectos secundarios peligrosos, que incluyen, entre otros: deficiencia de seguridad, síndrome de código redundante, síndrome de reinventar la rueda, síndrome de mordisqueo de documentos, dudas existenciales, depresión, dolores de cabeza, incluso la muerte, el alma dispersa, la aniquilación.
El grupo oficial de QQ y el grupo de Telegram han dejado de funcionar. Por favor, ve a la página de problemas de Github para participar en la discusión.
Pasos de operación
Inicio rápido:
- Obtén las claves de las distintas plataformas de webmasters
- Instala y configura el plugin
hexo-submit-urls-to-search-engine
hexo clean && hexo g && hexo d
, y consulta los resultados del envío- Si el envío es correcto, ve a la Dirección de Github y haz clic en el botón Star para dar apoyo
- De paso, observa el proyecto de Github para obtener recordatorios de actualización del plugin
- También puedes hacer clic aquí para dar una propina
Obtén la clave de la plataforma de webmasters
Las claves “anotadas” en esta sección se rellenarán en _config.yml
de hexo, el formato se dará más adelante.
Acerca de la verificación del sitio web: Algunos temas de Hexo admiten la adición de etiquetas de verificación HTML para la plataforma de webmasters, después de rellenar los ajustes correspondientes, hexo g && hexo d
puede ser verificado. Para los pasos detallados de operación general, por favor busca en Google: hexo verificación de la plataforma de webmasters
Baidu
Baidu es un motor de búsqueda chino. A menos que se completen los engorrosos trámites de registro del sitio web ante las autoridades chinas, es difícil que el sitio web sea indexado.
Si el servidor de tu sitio web está fuera de China, es básicamente imposible tramitar los procedimientos de registro del sitio web.
Por favor, consulta la antigua documentación para saber cómo enviar enlaces a Baidu
Bing
La plataforma de webmasters de Bing tiene una versión nueva y una antigua.
- Regístrate e inicia sesión en la nueva plataforma de webmasters de Bing Bing Webmaster Tools
- Añade el sitio web
- Entra en la página de gestión del sitio web, Configuración, Acceso a la API, Clave de API, anota la clave de API.
(Recientemente la plataforma de webmasters de Bing ha sido actualizada, el servidor y el diseño son inestables, si el token no se muestra, puedes intentarlo de nuevo después de un tiempo) Ahora ya se ha actualizado a la nueva plataforma de webmasters.
Este es un diagrama esquemático de la obtención de la antigua plataforma de webmasters de Bing:
Si el servidor de tu sitio web está en China, ten en cuenta que tu servidor debe ser capaz de acceder a la Internet internacional para poder enviarlo a Google.
La plataforma de webmasters de Google también tiene una versión nueva y una antigua, pero la relación entre las dos estaciones no está tan bien gestionada como la de Bing. Además, la API de Indexación de Google que usamos no la proporciona la plataforma de webmasters, sino que pertenece a la plataforma de desarrollo de Google developers. Durante el proceso, puedes consultar la documentación oficial (accesible en China continental) para la configuración.
Pasos de uso:
- Abre la documentación oficial y sigue las instrucciones para crear un proyecto y una cuenta de servicio. Sólo necesitas seguir las instrucciones para configurar en el sitio web, no necesitas completar las operaciones posteriores como la obtención del token de acceso.
Si sólo añades el correo electrónico de autorización en la nueva “Consola de Búsqueda” de Google según la documentación oficial de Google, seguirá apareciendo el mensaje de “sin autorización”. Por favor, ve a la antigua herramienta de webmasters, haz clic en tu sitio web y añade la dirección de correo electrónico a la mismaAhora puedes enviarlo directamente en la nueva plataforma de webmasters.- Coloca el archivo de clave json obtenido en el directorio raíz de hexo (en la misma ubicación que el archivo _config.yml de hexo).
Antigua herramienta de webmasters de Google:
Además, en su documentación oficial hay el siguiente aviso, por favor decide si activar la función de enviar enlaces a Google en función de la situación real:
Actualmente, la API de Indexación sólo se puede utilizar para rastrear páginas web que contienen JobPosting
o BroadcastEvent
(anidado en VideoObject
). Para los sitios web que contienen muchas páginas de corta duración (como información de empleo o vídeos en directo), la API de Indexación mantiene el contenido actualizado en los resultados de búsqueda enviando actualizaciones por separado para diferentes contenidos.
Inicio rápido de la API de Indexación | Centro de la Búsqueda de Google | Google for Developers
De todos modos, yo lo he enviado. Si Google no rastrea el sitio web, ¿cómo va a saber si tu página web no contiene
información de empleo o vídeos en directo
? Ya que lo rastreó, incluso si no encontróinformación de empleo o vídeos en directo
, ¿por qué razón va a desperdiciar recursos y a descartar la información ya rastreada? Ya que la usa, nuestro propósito se logra. En el uso real, Google no parece haber degradado el ranking por ello. ¿Quizás Google olvidó cambiar la documentación? Actualmente he encontrado dos errores graves en este documento que no se han cambiado en muchos años.
Configurar hexo
Instala este plugin
Por favor, ejecuta en el directorio raíz de hexo:
Por supuesto, en la región de la Gran China, la velocidad de descarga es más rápida utilizando
cnpm
npm install --save hexo-submit-urls-to-search-engine
Este plugin también soporta la instalación yarn
:
yarn add hexo-submit-urls-to-search-engine
Edita el _config.yml de hexo
hexo-submit-urls-to-search-engine
Configura el plugin hexo-submit-urls-to-search-engine
, pega lo siguiente en _config.yml
de hexo.
Consejo
Por supuesto, puedes utilizar variables de entorno para configurar el registro de claves, de modo que incluso si el código fuente se coloca en un repositorio público, la clave no se filtrará.
hexo_submit_urls_to_search_engine:
submit_condition: count #Condición para que se envíen los enlaces, valores opcionales: count | period Actualmente sólo admite count
count: 10 # Enviar los 10 enlaces más recientes
period: 900 # Enviar los enlaces con un tiempo de modificación de 900 segundos
google: 0 # Si enviar a Google, valores opcionales: 1 | 0 (0: No; 1: Sí)
bing: 1 # Si enviar a Bing, valores opcionales: 1 | 0 (0: No; 1: Sí)
baidu: 1 # Si enviar a Baidu, valores opcionales: 1 | 0 (0: No; 1: Sí)
txt_path: submit_urls.txt ## Nombre del documento de texto, los enlaces que hay que enviar se guardarán en este documento de texto
baidu_host: https://cjh0613.github.io ## Dominio registrado en la plataforma de webmasters de Baidu
baidu_token: Por favor, obtén según las instrucciones del documento ## Por favor, ten en cuenta que esta es tu clave, ¡así que por favor no la publiques directamente en un repositorio público!
bing_host: https://cjh0613.github.io ## Dominio registrado en la plataforma de webmasters de Bing
bing_enable_indexnow: false # Si enviar enlaces a Bing con indexNow: true (Sí) | false (No). Sólo la versión 2.1.1 y posteriores pueden activar esta función.
bing_token: Por favor, obtén según las instrucciones del documento ## Por favor, ten en cuenta que esta es tu clave, ¡así que por favor no la publiques directamente en un repositorio público!
google_host: https://cjh0613.github.io ## Dominio registrado en la plataforma de webmasters de Google
google_key_file: Project.json #archivo json que almacena la clave de google, colocado en el directorio raíz del sitio web (en la misma ubicación que el archivo _config.yml de hexo), ¡por favor, no publiques el contenido del archivo json directamente en un repositorio público!
google_proxy: http://127.0.0.1:8080 # Proxy http del sistema utilizado para enviar URL a Google, rellena 0 para no usarlo
replace: 0 # Si reemplazar parte de la cadena de caracteres en el enlace, valores opcionales: 1 | 0 (0: No; 1: Sí)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Consecuencias de la divulgación de las claves
Tu “enemigo”, la inteligencia artificial autoconsciente, los terroristas pueden utilizar tu clave para enviar enlaces a páginas inexistentes a los motores de búsqueda. Esto consumirá tu cuota, impidiéndote realizar envíos normales, y la reducción del peso del sitio web debido a la publicación de enlaces muertos.
Notas
- submit_condition: soporta dos formas de determinar si se envían o no enlaces, es decir, count | period. Las opciones de configuración de count | period siguientes se aplican respectivamente
- period: un período de tiempo, en segundos, si la diferencia entre la hora de actualización del artículo y la hora de ejecución de este plugin es menor que este valor, el enlace será enviado. Por ejemplo: hay dos archivos a.html y b.html, que corresponden a
https://yoursite.com/a.html
yhttps://yoursite.com/b.html
, respectivamente, y la diferencia entre su tiempo de actualización y el tiempo de ejecución de este plugin es de 800s y 1000s respectivamente (el campo period está establecido en 900), entonces se enviaráhttps://yoursite.com/a.html
,https://yoursite.com/b.html
no. - google_proxy: proxy http del sistema utilizado para enviar URL a Google, formato:
http://proxyhost:port
, modificaproxyhost
,port
; si Hexo se despliega fuera del país, rellena 0 para no usarlo. Si utilizas un software de navegación científica,proxyhost
es generalmente127.0.0.1
, yport
se puede ver en la configuración del software, generalmente es8080
. En Win10 puedes verlo en Configuración->Proxy - replace: Algunos enlaces pueden generarse incorrectamente (como los nombres de dominio chinos, la página de inicio ubicada en
http://cjh0613.github.io/blog
, etc.). Esta es una función de sustitución simple y brutal que sustituye la cadena de caracteres especificada en todos los enlaces generados. En el ejemplo,http://cjh0613.github.io/blog
se sustituye porhttps://cjh0613.com
. También puedes sustituir un nombre de dominio chino por un nombre de dominio transcodificado.
2020.7.12 Actualiza la nota de esta sección, gracias a liuyib por la sugerencia 2021.5.12 Añade google_proxy
Después de completar la configuración anterior, cuando ejecutes el comando hexo generate
en el directorio raíz de Hexo, se generará un archivo .txt
para almacenar los enlaces a enviar.
Puedes abrir este archivo para comprobar si los enlaces son correctos, si no son correctos, por favor visita _config.yml
de hexo para configurarlos. También puedes modificar manualmente este archivo .txt
antes de enviar los enlaces.
deploy
Si no has añadido antes la opción de configuración deploy:
, pega lo siguiente directamente en _config.yml
de hexo, sobrescribiendo la opción de configuración deploy:
predeterminada.
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Después de completar este paso, al ejecutar el comando hexo deploy
se enviarán automáticamente los enlaces a los motores de búsqueda.
- Debes ejecutar el comando
hexo deploy
ohexo d
para activar el envío, independientemente de si has usado este comando para la implementación antes.
Por supuesto, antes de eso, tienes que ejecutar hexo generate
para generar el archivo .txt más reciente para almacenar los enlaces que se van a enviar.
Si puedes enviar correctamente, por favor ve al repositorio Github y dale a Star para apoyarlo, ¡gracias!
Si ya has configurado la opción deploy:
, pegar el bloque de código anterior directamente te dará un mensaje de conflicto de configuración, sólo tienes que añadirlo a la opción deploy:
ya existente. Por ejemplo:
deploy:
- type: git
repo:
coding: git@xxx
branch: master
#Añade la opción de configuración de este plugin:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Nota: Cada type:
anterior tiene un -
Soporte de integración continua
Esta sección es una referencia para la forma de despliegue de hexo almacenado en un repositorio público y compilado y publicado mediante CI (integración continua, como Github action, travis, coding-ci, netlify, etc.).
Baidu y Bing pueden usar variables de entorno para registrar las claves, Google tiene otras soluciones, ver abajo
Ten en cuenta que, si utilizas el despliegue automático de CI, asegúrate de añadir updated:
en el Front-matter de cada página (la zona separada por ---
en la parte superior del archivo .md
, utilizada para especificar variables de archivos individuales) para indicar a Hexo que corrija la “hora de la última modificación del artículo”, por ejemplo:
---
title: Hello World
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---
Esto se debe a que, cuando los archivos se colocan en el ordenador local, si no hay updated:
, Hexo leerá los atributos del archivo y utilizará la “hora de la última modificación del archivo” como la “hora de la última modificación del artículo”, puede juzgar normalmente y enviar los 10 enlaces más recientes; mientras que cuando CI se despliega automáticamente, como los recursos de Hexo son clonados al servidor, si no se añade updated:
, Hexo también leerá los atributos del archivo, pero en este momento la última modificación en los atributos será exactamente la misma que la hora de clonación de git, Hexo obtendrá una “hora de la última modificación del artículo” incorrecta y no podrá juzgar normalmente y enviar el enlace más reciente.
- Por favor, rellena
0
en las opciones de configuraciónbaidu_token:
ybing_token:
dehexo_submit_urls_to_search_engine:
- Configura las variables de entorno
BAIDU_TOKEN
,BING_TOKEN
, el valor es eltoken
obtenido - Si utilizas Github Action, también necesitas configurar las variables de entorno en el archivo
yml
, abajo hay un ejemplo hexo clean && hexo generate && hexo deploy
disfruta de la vida
Referencia:
hexo_submit_urls_to_search_engine:
submit_condition: count #Condición para que se envíen los enlaces, valores opcionales: count | period Actualmente sólo admite count
count: 10 # Enviar los 10 enlaces más recientes
period: 900 # Enviar los enlaces con un tiempo de modificación de 900 segundos
google: 1 # Si enviar a Google, valores opcionales: 1 | 0 (0: No; 1: Sí)
bing: 1 # Si enviar a Bing, valores opcionales: 1 | 0 (0: No; 1: Sí)
baidu: 1 # Si enviar a Baidu, valores opcionales: 1 | 0 (0: No; 1: Sí)
txt_path: submit_urls.txt ## Nombre del documento de texto, los enlaces que hay que enviar se guardarán en este documento de texto
baidu_host: https://en.cjh0613.com ## Dominio registrado en la plataforma de webmasters de Baidu
baidu_token: 0 ## Por favor, ten en cuenta que esta es tu clave, ¡así que por favor no la publiques directamente en un repositorio público!
bing_host: https://en.cjh0613.com ## Dominio registrado en la plataforma de webmasters de Bing
bing_token: 0 ## Por favor, ten en cuenta que esta es tu clave, ¡así que por favor no la publiques directamente en un repositorio público!
google_host: https://en.cjh0613.com ## Dominio registrado en la plataforma de webmasters de Google
google_key_file: Project.json #archivo json que almacena la clave de google, colocado en el directorio raíz del sitio web (en la misma ubicación que el archivo _config.yml de hexo), ¡por favor, no publiques el contenido del archivo json directamente en un repositorio público!
google_proxy: 0 # Proxy http del sistema utilizado para enviar URL a Google, rellena 0 para no usarlo
replace: 0 # Si reemplazar parte de la cadena de caracteres en el enlace, valores opcionales: 1 | 0 (0: No; 1: Sí)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action, también necesita configurar las variables de entorno en el archivo yml
:
- name: xxxx #rellena como quieras
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # atención aquí, el resto son nubes
BING_TOKEN: ${{ secrets.BING_TOKEN }} # atención aquí, el resto son nubes
run: |
npm i -g hexo-cli # instalar hexo
npm i
……
hexo deploy
En cuanto a enviar enlaces a Google, la información del archivo de claves json
es mucha, copiar y pegar para establecer las variables de entorno… es realmente problemático. Yo pongo el archivo de claves json
en un repositorio privado, luego lo clono y lo copio al directorio raíz para solucionarlo.
Actualización del plugin
Recordatorio de actualización del plugin
Después de instalar este plugin, por favor, observa este proyecto desde Github para obtener recordatorios de actualización del plugin (selecciona Releases only para obtener sólo recordatorios de actualización, selecciona Watching también enviará Issues, Pull requests, etc., enviados por correo electrónico)
Operación de actualización
Por favor, ejecuta en el directorio raíz de hexo:
Por supuesto, en la región de la Gran China, la velocidad de descarga es más rápida utilizando
cnpm
npm install --save hexo-submit-urls-to-search-engine@versión
Antes di otro comando: npm update --save hexo-submit-urls-to-search-engine
, pero encontré problemas al probarlo.
yarn
actualización:
yarn add hexo-submit-urls-to-search-engine@versión
Actualización no compatible
Advertencia
A veces, la actualización del plugin no es compatible con versiones anteriores, lo que puede requerir que modifiques las opciones de configuración relacionadas con este plugin en _config.yml
de hexo, o que realices otras modificaciones.
Esta situación suele ir acompañada de un aumento del número antes del primer punto decimal en el número de versión. Como ^1.0.0
se actualiza a ^2.0.0
.
1.x.x se actualiza a 2.x.x:
Necesitas añadir las siguientes tres opciones de configuración a la opción de configuración hexo_submit_urls_to_search_engine:
:
replace: 0 # Si reemplazar parte de la cadena de caracteres en el enlace, valores opcionales: 1 | 0 (0: No; 1: Sí)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Bueno, descubrí que esta actualización es compatible con versiones anteriores, incluso si no hay estas tres opciones de configuración, no dará error…
Información de retorno
Información de envío exitoso
Bing
Respuesta de Bing: { d: null }
Respuesta de Google: { urlNotificationMetadata:
{ url:
'https://cjh0613.github.io',
latestUpdate:
{ url:
'https://cjh0613.github.io',
type: 'URL_UPDATED',
notifyTime: '2020-06-12T05:37:25.701779228Z' } } }
Otros
Para otros retornos, puedes consultar su documentación oficial, pero en general se puede conocer la razón traduciendo la respuesta.
A veces es porque los motores de búsqueda sólo permiten enviar un número determinado de enlaces al día. Puedes visitar su sitio web oficial para consultarlo. Después de que mi nombre de dominio del sitio cjh0613.github.io
cambiara a cjh0613.com, la cuota de Bing era de 10, después de enviar 10 días seguidos, la cuota cambió repentinamente de 10 a 10000.
Si algunos enlaces fallan al enviarse, por favor manéjalos manualmente: modifica el txt que guarda los enlaces enviados según la respuesta (generalmente quita los enlaces que se han enviado correctamente), y luego sólo ejecuta hexo deploy
para volver a enviarlos, no es necesario regenerar el sitio web.
Si quieres enviar enlaces a los motores de búsqueda todos los días, simplemente ejecuta hexo d
todos los días, también puedes configurar Github Action para que ejecute hexo g && hexo d
todos los días, sin necesidad de reinventar la rueda.
Consultar resultados
Consultar el índice
Tomando como ejemplo la consulta del índice de este sitio, abre cualquier motor de búsqueda, introduce site:dominio
, aquí es:
site:cjh0613.github.io
Busca.
El tiempo que tarda un nuevo sitio en pasar de un volumen de índice de 0→1 puede ser muy largo, quizás un mes… por favor ten paciencia.
La velocidad de indexación real también está relacionada con otros factores, hay muchos materiales de SEO en Internet, pero todos se centran en la explicación oficial.
Consultar el historial de envío
Bing
Puedes iniciar sesión en la nueva plataforma de webmasters de Bing para comprobar la lista detallada de enlaces enviados (actualizada en tiempo real):
https://www.bing.com/webmasters/submiturl?siteUrl=tu enlace al sitio web
Sólo puedes comprobar el número acumulado de enlaces enviados y el porcentaje de envíos fallidos durante un período de tiempo (hasta casi 30 días) en la tabla “Errores” de la siguiente dirección (actualizada en tiempo real), aunque da un gráfico de datos de envío diario, pero es como si no lo diera…
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=