web-dev-qa-db-fra.com

Comment s'assurer que le contenu des iframes est correctement indexé avec la page Web stem

J'ai une page Web (une URL racine) contenant plusieurs iframes avec un src légèrement différent. C'est comme un @book has_many :pages et chaque page est un iframe avec une augmentation sérielle de page_no.

Comment puis-je m'assurer que le contenu à l'intérieur des iframes est correctement indexé et que l'URL STEM devient le parent de toutes les URL src de pages en dessous?

Oh oui, je suis heureux que tous les moteurs de recherche examinent le contenu correctement.

1
marvindanig

Autant que je sache, il n’ya aucun moyen de faire indexer votre site de cadres HTML comme vous le souhaitez. Google indexe toujours le contenu à l'URL du cadre enfant et non à l'URL du cadre parent.

Le manque de prise en charge des moteurs de recherche est l’une des raisons pour lesquelles les cadres sont si rarement utilisés sur le Web. Il est beaucoup plus courant de s’appuyer sur la technologie côté serveur pour créer une page complète plutôt que de l’envoyer à certains utilisateurs.


Plutôt que de compter sur les moteurs de recherche pour indexer différentes pages, vous pouvez utiliser JavaScript pour appliquer votre FrameSet. Si votre navigation est dans un cadre sur le côté, j'ai parfois vu que JavaScript était utilisé pour le rajouter. Supposons qu'un visiteur atterrisse sur page3.html, il pourrait avoir du JavaScript comme celui-ci:

if (window.top == window.self) {
    window.location = "http://example.com/frame.html#page3.html";
}

Alors frame.html pourrait avoir JavaScript pour définir la page correcte en fonction de l'identifiant de fragment:

if(/^page[0-9]+\.html$/.test(window.location.hash)) {
    document.getElementById('frame-for-the-pages').src = window.location.hash;
}

frame-for-the-pages est l'identifiant attribué à cette partie de votre jeu de cadres:

<frame id="frame-for-the-pages" src="page1.html">

Vous pouvez également essayer de nouveaux outils de Google. Cela fait tellement longtemps que tout le monde a abandonné les cadres que je ne suis pas sûr que quiconque ait essayé:

Rel canonique

Utilisez balises méta canoniques rel dans chacun des cadres enfants pour pointer en arrière sur le cadre parent. Ces balises peuvent forcer Google à indexer le contenu comme s'il se trouvait à une autre URL. Je ne le ferais que dans les cas où le cadre parent affiche immédiatement le cadre enfant (sans que l'utilisateur ait à cliquer dessus). Sinon, vous courez le risque de "masquer": avoir un contenu d'index Google qui n'est pas disponible pour les utilisateurs facilement qui peut entraîner une pénalité de Google.

AJAX rampable

Les cadres ne diffèrent pas beaucoup de AJAX dans la mesure où le contenu du cadre est extrait dynamiquement du côté client. Il serait peut-être possible d'appliquer les mêmes techniques AJAX explorables aux cadres: créez des instantanés HTML de toutes vos pages et transmettez-les à l'adresse URL _escaped_fragment, tout en laissant Google envoyer des visiteurs à l'adresse URL du cadre.

2