Maison développement back-end tutoriel php 如何让搜索引擎抓取AJAX内容解决方案_php实例

如何让搜索引擎抓取AJAX内容解决方案_php实例

May 16, 2016 pm 08:37 PM
抓取 搜索引擎

越来越多的网站,开始采用"单页面结构"(Single-page application)。

整个网站只有一张网页,采用Ajax技术,根据用户的输入,加载不同的内容。

这种做法的好处是用户体验好、节省流量,缺点是AJAX内容无法被搜索引擎抓取。举例来说,你有一个网站。

<code>  http://example.com   </code>
Copier après la connexion

用户通过井号结构的URL,看到不同的内容。

<code>  http://example.com#1  http://example.com#2  http://example.com#3   </code>
Copier après la connexion

但是,搜索引擎只抓取example.com,不会理会井号,因此也就无法索引内容。

为了解决这个问题,Google提出了"井号+感叹号"的结构。

<code>  http://example.com#!1  </code>
Copier après la connexion

当Google发现上面这样的URL,就自动抓取另一个网址:

<code>  http://example.com/?_escaped_fragment_=1  </code>
Copier après la connexion

只要你把AJAX内容放在这个网址,Google就会收录。但是问题是,"井号+感叹号"非常难看且烦琐。Twitter曾经采用这种结构,它把

<code>  http://twitter.com/ruanyf  </code>
Copier après la connexion

改成

<code>  http://twitter.com/#!/ruanyf  </code>
Copier après la connexion

结果用户抱怨连连,只用了半年就废除了。

那么,有没有什么方法,可以在保持比较直观的URL的同时,还让搜索引擎能够抓取AJAX内容?

我一直以为没有办法做到,直到前两天看到了Discourse创始人之一的Robin Ward的解决方法,不禁拍案叫绝。

Discourse是一个论坛程序,严重依赖Ajax,但是又必须让Google收录内容。它的解决方法就是放弃井号结构,采用 History API。

所谓 History API,指的是不刷新页面的情况下,改变浏览器地址栏显示的URL(准确说,是改变网页的当前状态)。这里有一个例子,你点击上方的按钮,开始播放音乐。然后,再点击下面的链接,看看发生了什么事?

地址栏的URL变了,但是音乐播放没有中断!

History API 的详细介绍,超出这篇文章的范围。这里只简单说,它的作用就是在浏览器的History对象中,添加一条记录。

<code>  window.history.pushState(state object, title, url);  </code>
Copier après la connexion

上面这行命令,可以让地址栏出现新的URL。History对象的pushState方法接受三个参数,新的URL就是第三个参数,前两个参数都可以是null。

<code>  window.history.pushState(null, null, newURL);   </code>
Copier après la connexion

目前,各大浏览器都支持这个方法:Chrome(26.0+),Firefox(20.0+),IE(10.0+),Safari(5.1+),Opera(12.1+)。

下面就是Robin Ward的方法。

首先,用History API替代井号结构,让每个井号都变成正常路径的URL,这样搜索引擎就会抓取每一个网页。

<code>  example.com/1  example.com/2  example.com/3  </code>
Copier après la connexion

然后,定义一个JavaScript函数,处理Ajax部分,根据网址抓取内容(假定使用jQuery)。

<code>function anchorClick(link) {<br>    var linkSplit = link.split('/').pop();<br>    $.get('api/' + linkSplit, function(data) {<br>      $('#content').html(data);<br>    });<br>  }</code>
Copier après la connexion

再定义鼠标的click事件。

<code>  $('#container').on('click', 'a', function(e) {<br>    window.history.pushState(null, null, $(this).attr('href'));<br>    anchorClick($(this).attr('href'));<br>    e.preventDefault();<br>  });  </code>
Copier après la connexion

还要考虑到用户点击浏览器的"前进 / 后退"按钮。这时会触发History对象的popstate事件。

<code>  window.addEventListener('popstate', function(e) {     <br>    anchorClick(location.pathname);  <br>   });</code>
Copier après la connexion

定义完上面三段代码,就能在不刷新页面的情况下,显示正常路径URL和AJAX内容。

最后,设置服务器端。

因为不使用井号结构,每个URL都是一个不同的请求。所以,要求服务器端对所有这些请求,都返回如下结构的网页,防止出现404错误。

<code>  <br>    <br>      <section id="container"></section><br>      <noscript>
<br>        ... ...<br>       </noscript>
<br>    <br>  </code>
Copier après la connexion

仔细看上面这段代码,你会发现有一个noscript标签,这就是奥妙所在。

我们把所有要让搜索引擎收录的内容,都放在noscript标签之中。这样的话,用户依然可以执行AJAX操作,不用刷新页面,但是搜索引擎会收录每个网页的主要内容!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment changer de moteur de recherche sur iPhone et iPad Comment changer de moteur de recherche sur iPhone et iPad Apr 25, 2023 am 08:28 AM

Il est facile de changer de moteur de recherche dans Safari, Google Chrome ou d'autres navigateurs sur votre iPhone ou iPad. Ce tutoriel vous montrera comment le faire sur quatre navigateurs Web différents disponibles sur iPhone et iPad. Comment changer le moteur de recherche Safari sur iPhone ou iPad Safari est le navigateur Web par défaut sur iOS et iPadOS, mais vous n'aimerez peut-être pas le moteur de recherche. Heureusement, vous pouvez suivre ces étapes pour le modifier : Sur votre iPhone ou iPad, lancez Paramètres depuis l'écran d'accueil. Faites glisser votre doigt vers le bas et appuyez sur Safari dans la liste. Dans le menu suivant,

Entrée du moteur de recherche de disque cloud Baidu Entrée du moteur de recherche de disque cloud Baidu Feb 27, 2024 pm 01:00 PM

Baidu Cloud est un logiciel qui permet aux utilisateurs de stocker de nombreux fichiers. Alors, quelle est l'entrée du moteur de recherche Baidu Cloud Disk ? Les utilisateurs peuvent saisir l'URL https://pan.baidu.com pour accéder à Baidu Cloud Disk. Ce partage de la dernière entrée du moteur de recherche Baidu Cloud Disk vous donnera une introduction détaillée. . Entrée du moteur de recherche de disque cloud Baidu 1. Site Web de recherche Qianfan : https://pan.qianfan.app Prend en charge le disque réseau : recherche globale, Alibaba, Baidu, Quark, Lanzuo, Tianyi, méthode de visualisation du disque réseau Xunlei : connexion requise, suivez l'entreprise Avantages de l'obtention du code d'activation : Le disque réseau est complet, les ressources sont nombreuses et l'interface est simple. 2. Site Internet de Maolipansou : alipansou.c

Développement Java : comment implémenter des fonctions de moteur de recherche et de récupération de texte intégral Développement Java : comment implémenter des fonctions de moteur de recherche et de récupération de texte intégral Sep 21, 2023 pm 01:10 PM

Développement Java : comment implémenter les fonctions de moteur de recherche et de récupération de texte intégral, des exemples de code spécifiques sont nécessaires. Les moteurs de recherche et la récupération de texte intégral sont des fonctions importantes à l'ère moderne d'Internet. Non seulement ils aident les utilisateurs à trouver rapidement ce qu’ils recherchent, mais ils offrent également une meilleure expérience utilisateur pour les sites Web et les applications. Cet article explique comment utiliser Java pour développer des moteurs de recherche et des fonctions de récupération de texte intégral, et fournit des exemples de code spécifiques. Recherche en texte intégral à l'aide de la bibliothèque Lucene Lucene est une bibliothèque de moteur de recherche en texte intégral open source, développée par ApacheSo.

Analyse de cas Scrapy : Comment explorer les informations de l'entreprise sur LinkedIn Analyse de cas Scrapy : Comment explorer les informations de l'entreprise sur LinkedIn Jun 23, 2023 am 10:04 AM

Scrapy est un framework d'exploration basé sur Python qui peut obtenir rapidement et facilement des informations pertinentes sur Internet. Dans cet article, nous utiliserons un cas Scrapy pour analyser en détail comment explorer les informations d'une entreprise sur LinkedIn. Déterminer l'URL cible Tout d'abord, nous devons indiquer clairement que notre cible est les informations de l'entreprise sur LinkedIn. Par conséquent, nous devons trouver l’URL de la page d’informations sur l’entreprise LinkedIn. Ouvrez le site Web LinkedIn, saisissez le nom de l'entreprise dans le champ de recherche et

Optimisation des performances du moteur de recherche PHP : le tour de magie d'Algolia Optimisation des performances du moteur de recherche PHP : le tour de magie d'Algolia Jul 23, 2023 pm 04:21 PM

Optimisation des performances des moteurs de recherche PHP : la méthode magique d'Algolia Avec le développement d'Internet et les exigences croissantes des utilisateurs en matière d'expérience de recherche, l'optimisation des performances des moteurs de recherche est devenue cruciale. Dans le monde du développement PHP, Algolia est un service de moteur de recherche puissant et facile à intégrer. Cet article présentera les utilisations magiques d'Algolia et comment optimiser les performances des moteurs de recherche PHP via Algolia. Introduction à AlgoliaAlgolia est un fournisseur de services de moteurs de recherche basé sur le modèle SaaS.

Dans le domaine de la recherche par intelligence artificielle, Google et Microsoft sont en concurrence Dans le domaine de la recherche par intelligence artificielle, Google et Microsoft sont en concurrence Apr 08, 2023 am 11:31 AM

Depuis son lancement à la fin de l'année dernière, ChatGPT est considéré comme une menace majeure pour les méthodes traditionnelles de recherche d'informations. Parce qu'il est diversifié, vous pouvez répondre aux questions des gens, écrire des essais ou des poèmes, ou même écrire du code de programme. La capacité de l'IA conversationnelle à fournir des réponses cohérentes est considérée comme une menace pour le moteur de recherche de Google, qui constitue depuis des décennies la plate-forme de référence permettant aux internautes de rechercher des informations sur Internet. ChatGPT d'OpenAI peut adapter les réponses aux questions spécifiques posées par les utilisateurs, ce qui peut faire gagner du temps lors de la navigation sur les sites Web. Un rapport publié par le New York Times en décembre a révélé que le succès immédiat de ChatGPT a forcé Google à l'appeler « Code Red » et à commencer à s'attaquer à la menace que représentent les chatbots à intelligence artificielle pour son activité de moteur de recherche. selon

Exemple de récupération d'informations Instagram à l'aide de PHP Exemple de récupération d'informations Instagram à l'aide de PHP Jun 13, 2023 pm 06:26 PM

Instagram est aujourd’hui l’un des réseaux sociaux les plus populaires, avec des centaines de millions d’utilisateurs actifs. Les utilisateurs téléchargent des milliards de photos et de vidéos, et ces données sont très précieuses pour de nombreuses entreprises et particuliers. Par conséquent, dans de nombreux cas, il est nécessaire d’utiliser un programme pour récupérer automatiquement les données Instagram. Cet article expliquera comment utiliser PHP pour capturer des données Instagram et fournira des exemples de mise en œuvre. Installer l'extension cURL pour PHP cURL est un outil utilisé dans divers

Comment configurer Google Chrome pour changer de moteur de recherche ? Comment changer de moteur de recherche dans le navigateur ? Comment configurer Google Chrome pour changer de moteur de recherche ? Comment changer de moteur de recherche dans le navigateur ? Mar 15, 2024 pm 12:49 PM

Comment changer de moteur de recherche dans Google Chrome ? Google Chrome est un navigateur très populaire parmi les utilisateurs. Il propose non seulement des services simples et faciles à utiliser, des outils pratiques et d'autres fonctions auxiliaires, mais peut également répondre aux différents besoins des différents utilisateurs. Les moteurs de recherche sont généralement ceux de Google. je veux Comment dois-je le configurer pour le remplacer ? Permettez-moi de partager la méthode ci-dessous. Méthode de remplacement 1. Cliquez pour ouvrir Google Chrome. 2. Cliquez sur l'icône à trois points pour ouvrir l'interface du menu. 3. Cliquez sur l'option Paramètres pour accéder à l'interface des paramètres du navigateur. 4. Recherchez le module du moteur de recherche dans l'interface des paramètres. 5. Cliquez sur le bouton Gérer le moteur de recherche. 6. Vous pouvez voir un bouton Ajouter. Cliquez sur ce bouton Ajouter pour ajouter un moteur de recherche.​

See all articles