php jquery seo navigation bandwidth

php - SEO Safe Anchor Links con jQuery Dynamic Content



navigation bandwidth (3)

Creo que los anclajes están bien, pero debería mejorar el script del lado del servidor, ya que solo muestra el contenido principal, no toda la página.

al marcar $ _SERVER [''HTTP_X_REQUESTED_WITH''], puede distinguir entre una llamada ajax y una solicitud "normal". este es un encabezado establecido automáticamente por jquery.

si se hace una llamada ajax, muestra el contenido principal, de lo contrario da salida a todo: el doctype, las etiquetas html y todo lo divertido que hay entre ellos. para que todos obtengan el contenido, incluso el rastreador y otros visitantes sin javascript.

más información: http://davidwalsh.name/detect-ajax

ejemplo:

<?php $pageID = isset($_POST[''page'']) ? $_POST[''page''] : "home"; if ( !$_SERVER[''HTTP_X_REQUESTED_WITH''] ) { require(''content/components/header.php''); } require "content/" . $pageID . ".php"; if ( !$_SERVER[''HTTP_X_REQUESTED_WITH''] ) { require(''content/components/footer.php''); } ?>

con content / components / header.php:

<html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="scripts.js"></script> </head> <body> <div class=''siteBody''> <div class=''siteHeader''> <?php foreach ($pageList as $key => $value) { if ($pageID == $key) {$btnClass="btnMenuSel";} else {$btnClass="btnMenu";} echo "<a class=''$btnClass'' href=''?page=".$key."''>".$pageList[$key]."</a>"; } ?> </div> <div id="siteContent" style=''margin-top:10px;''>

y content / components / footer.php:

</div> <div class=''siteFooter''></div> </div> </body> </html>

así que ... ¿Es esta una forma segura de usar enlaces internos en su sitio? Al hacer esto, tengo la página de índice generando la sección de contenido php habitual y entregándola al elemento div.

LA PREGUNTA PRINCIPAL: ¿Google aún indexará las páginas con este método? El sentido común me dice que sí. Pero simplemente comprobando dos veces y dejando esto aquí también como un ejemplo base si lo es. Como en.

EJEMPLO SOLO PERSONAS

El lado del servidor

if (isset($_REQUEST[''page''])) {$pageID=$_REQUEST[''page''];} else {$pageID="home";} if (isset($_REQUEST[''pageMode'']) && $_REQUEST[''pageMode'']=="js") { require "content/".$pageID.".php"; exit; } // ELSE - REST OF WEBSITE WILL BE GENERATED USING THE page VARIABLE

Los enlaces

<a class=''btnMenu'' href=''?page=home''>Home Page</a> <a class=''btnMenu'' href=''?page=about''>About</a> <a class=''btnMenu'' href=''?page=Services''>Services</a> <a class=''btnMenu'' href=''?page=contact''>Contact</a>

El Javascript

$(function() { $(".btnMenu").click(function(){return doNav(this);}); }); function doNav(objCaller) { var sPage = $(objCaller).attr("href").substring(6,255); $.get("index.php", { page: sPage, pageMode: ''js''}, function(data) { ("#siteContent").html(data).scrollTop(0); }); return false; }

Perdónenme si hay algún error, como copiaron y pegaron de mi secuencia de comandos, luego eliminaron un montón de basura para simplificarlo como si todavía estuviera creando un prototipo / proyecto blanco. Así que sí, se ve un poco desagradable en este momento.

RAZONES POR LAS QUE: La razón principal es el ancho de banda y la velocidad. Esto permitirá que otros scripts se ejecuten y controlen el sitio / aplicación un poco mejor y sí, será necesario bloquearlos con alguna codificación. -

MÁS EJEMPLO - INSERTAR PHP EN LA PARTE SUPERIOR

<?php // PHP CODE HERE ?> <html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="scripts.js"></script> </head> <body> <div class=''siteBody''> <div class=''siteHeader''> <?php foreach ($pageList as $key => $value) { if ($pageID == $key) {$btnClass="btnMenuSel";} else {$btnClass="btnMenu";} echo "<a class=''$btnClass'' href=''?page=".$key."''>".$pageList[$key]."</a>"; } ?> </div><div id="siteContent" style=''margin-top:10px;''> <?php require "content/".$pageID.".php"; ?> </div><div class=''siteFooter''> </div> </div> </body> </html>


No está claro cuál es el impacto de SEO. Google ahora interpreta algunos javascript. Por lo tanto, es posible, pero no está garantizado, que Google pueda leer estos enlaces. Por lo general, las personas desean ocultar los enlaces a páginas como "Acerca de". Entonces, si Google no puede leer estos enlaces, es posible que obtenga una ventaja SEO. Es más el pagerank se concentra en las páginas que te interesan. Algunos sitios grandes en realidad generan enlaces a dichas páginas usando javascript por este motivo.

Una vez en vivo, puede verificar si Google encontró los enlaces mirando los enlaces a la página sobre nosotros en las herramientas para webmasters.


No, esto no es amigable para los motores de búsqueda. Está utilizando JavaScript para obtener contenido del servidor y mostrarlo en la página. Aunque los motores de búsqueda mejoran con el manejo de contenido generado por JavaScript, aún no pueden manejar esto (a menos que sigas el estándar Ajax de Google que se puede rastrear, pero los sitios se han estado alejando de ese más notable Twitter el mes pasado).

Entonces esto es malo para SEO. Además, no estás ahorrando tanto ancho de banda como crees. Los ahorros son mínimos y con el ancho de banda tan económico, esto es completamente innecesario. De hecho, gastó más dinero haciendo que su sitio fuera inaccesible realizando una acción normal (carga de la página) y lo hizo intrincado al usar JavaScript para hacerlo, entonces habría ahorrado en costos de ancho de banda.

Sí, es un motor de búsqueda amigable y un buen ejemplo de mejora progresiva. Debido a que los enlaces aún se pueden rastrear y cargan el mismo contenido que con JavaScript, Google y cualquier otro que no tenga JavaScript habilitado aún pueden encontrar el contenido correctamente. Sus usuarios con JavaScript obtendrán el beneficio adicional de una carga de página más rápida, ya que no necesitan esperar a que se cargue toda la página cuando hacen clic en el enlace.