Cómo hacer el SEO para mi sitio web principal de PHP

Tengo que señalar que siempre ha habido un mito en torno a la indexación (o no indexación) de Google de páginas PHP, específicamente páginas generadas dinámicamente. Supongo que mi misterioso título de esta entrada no ayuda, porque Google puede indexar fácilmente páginas PHP generadas dinámicamente y páginas PHP con contenido generado dinámicamente (lea más abajo para obtener una explicación). Hay algunas buenas prácticas que los webmasters deben seguir para asegurarse de que las páginas de su sitio sean claramente legibles, pero no hay realmente un gran misterio. Explicaré en publicaciones posteriores de esta serie cómo puedes preparar tu sitio PHP para Google. Mientras tanto, Google (como siempre) es lo suficientemente inteligente como para clasificar la mayor parte de la basura que las personas a veces publican en la web. Entonces, ¿por qué escribir un artículo que preguntas? Debido a que hay muchas personas que todavía creen en este mito, ya es hora de que alguien señale que Google ya ha dejado las cosas claras.

Es fácil ver cómo tal mito podría perpetuarse con el tiempo. Google sí tenía un extracto de su Guía para webmasters en 2006 que decía que Google tenía más dificultades para indexar páginas con una cadena de consulta en la URL (para aquellos que no estén familiarizados con las partes de URL, lea esta entrada de Matt Cutts de Google). Google advirtió una vez:

“No utilice” & id = “como parámetro en sus URL, ya que no incluimos estas páginas en nuestro índice”.

La chispa que encendió el fuego. Entonces, ¿Google realmente tuvo dificultades para indexar páginas PHP en algún momento? Bueno, no tan rápido Sr. o Sra. Webmaster pantalones. No dijeron nada sobre páginas generadas dinámicamente, o incluso PHP para el caso. Simplemente dijeron que es mejor no usar ciertas cadenas de consulta en sus URL. Se ha exagerado y ampliado a lo largo de los años para incluir de alguna manera la idea de que Google es totalmente incapaz de indexar páginas procesadas por PHP. Esta noción era falsa entonces, y es falsa ahora. De hecho, Google ahora incluso ha eliminado esa línea de la Guía para webmasters y ha declarado claramente que está bien tener páginas generadas dinámicamente.

Las personas que todavía creen que Google no puede indexar PHP obviamente nunca han realizado esta consulta:

inurl: .php

¿Qué? Eso es un ultraje! ¡Google no indexa las páginas PHP! ¡Especialmente no el primero que se genera dinámicamente y contiene “? Id =” en la cadena de consulta! Bien, ahora me quitaré la lengua de la mejilla para poder terminar aquí.

Una explicación técnica

Muy bien, aquí es donde tenemos que ponernos un poco técnicos. No tengas miedo, no está tan mal. Después de todo, fueron las personas que no estaban dispuestas a explorar un poco de las cosas técnicas que perpetuaron este mito en primer lugar. ¡Sé parte de la solución y sigue leyendo!

Primero, hay una diferencia real entre las páginas generadas dinámicamente y las páginas con contenido generado dinámicamente. A menudo ocurre que las páginas generadas dinámicamente también tendrán contenido generado dinámicamente, pero no todas las páginas con contenido generado dinámicamente tienen que ser generadas dinámicamente. ¿Confuso? Dejame explicar.

Páginas con contenido dinámico

Digamos que tengo un archivo llamado faqs.php que realmente ocupa memoria en mi servidor y contiene código PHP que realiza una determinada función. Tal vez el código accede a una base de datos, obtiene una lista de preguntas frecuentes y las imprime en la pantalla. Este es un ejemplo de una página no generada dinámicamente que genera dinámicamente contenido. En este caso, el script faqs.php solo entregará de manera consistente preguntas frecuentes al usuario. Probablemente nunca muestre términos de uso, contacto o sobre la página. Es para preguntas frecuentes.

Google nunca ha tenido problemas para indexar este tipo de páginas, a pesar de que se crean con PHP. El hecho de que PHP esté involucrado es un punto discutible porque todo el contenido se entregó al navegador o al motor de búsqueda después de que el contenido se compiló en el servidor. A las arañas no les importa lo que sucede detrás de escena para entregar mi página, especialmente cuando tengo esta simple URL: http://www.mysite.com/faqs.php. Para todos los efectos, esta página es exactamente lo mismo que una página HTML estática entregada desde el servidor a la araña o al navegador (la única diferencia es la extensión .php en el nombre del archivo). Incluso la extensión del archivo no es un problema teniendo en cuenta el hecho de que un webmaster puede configurar Apache para ejecutar y entregar páginas PHP con la extensión .html, lo que enmascararía totalmente el hecho de que el contenido de la página se ha entregado dinámicamente.

Páginas generadas dinámicamente

Ahora, imaginemos que tengo un archivo llamado index.php, y tiene una cadena de consulta adjunta para que se vea así: index.php? Page = faqs. Este script podría estar produciendo lo que la gente llamaría una página generada dinámicamente. También, en este caso, entrega contenido a la pantalla, mostrando también información sobre preguntas frecuentes, como en nuestro ejemplo anterior. La diferencia con esta página index.php es que probablemente no sea específica solo para las preguntas frecuentes. Probablemente también se usa para entregar los términos de uso, contactarnos y sobre las páginas, respectivamente. En teoría (pero no en una buena práctica), podría tener un sitio web completo de miles de páginas que provienen de un solo script PHP.

Estos son los tipos de páginas que Google ha advertido en el pasado. Si bien nunca han tenido problemas con los tipos de páginas descritos anteriormente, puede ver cómo Google pudo haber tenido dificultades en el pasado, o simplemente se negó a realizar un seguimiento e indexar estos tipos de páginas, especialmente si el valor de nombre múltiple existen pares en la cadena de consulta.

Cuando se trata de actualizar etiquetas de título, metadescripciones, elementos de enlace canónicos, etc., página por página, a menudo confiamos en el poder del CMS del cliente. Ya sea que usemos complementos de WordPress o módulos de Drupal para hacer el trabajo, generalmente tenemos un proceso que es eficiente y factible. Sin retoques con archivos de plantilla. Sin buscar en la web soluciones alternativas. Implementación simple, tal como nos gusta.

Los sistemas de gestión de contenido con utilidades SEO integradas son geniales. Sin embargo, ¿qué sucede cuando se le asigna la tarea de implementar todos los elementos HTML pertinentes página por página en un sitio web basado en PHP con un estático? Vamos a sumergirnos en eso.

1. ¡Haz que sea dinámico!

En la mayoría de los casos, cada archivo PHP estático, ya sea index.php, contact.php, lo que tenga, hará referencia al mismo archivo header.php a través de una declaración de inclusión:

1

La declaración de inclusión le dice al servidor que cualquier código dentro de header.php también debe incluirse en el archivo que se solicita. De esta manera, no tenemos que escribir mucho HTML en cada página de contenido. En cambio, tenemos este archivo estático del que podemos extraer el código necesario. Tenga en cuenta que el archivo header.php no necesariamente contiene solo el HTML . En general, incluirá cualquier código que sea reutilizable en la parte superior del documento HTML en todo el sitio web (incluido el logotipo, la navegación, el banner, etc.). Veamos un ejemplo de código que podemos encontrar en header.php:

Título de la página aquí

. . .

Título de la página aquí

. . .

Esto es un poco simplificado, por supuesto, pero es útil. Tenga en cuenta, sin embargo, que nuestra etiqueta de título y meta descripción tienen valores de texto estáticos. Incluso si los editamos para que sean un poco más descriptivos de una página en particular, aplicaremos efectivamente el mismo título y meta descripción a cada página del sitio web. No está bien. Afortunadamente, podemos hacer estos valores dinámicos (únicos para cada página) usando variables PHP. Usaremos la construcción de eco para colocar las variables de nivel de página necesarias (que aún no hemos creado) en los lugares correctos en header.php.

. . .

. . .

Es seguro decir que implementaremos títulos y meta descripciones en cada página del sitio web. Sin embargo, ¿qué pasa con algo como un elemento de enlace canónico o marcado de meta robots? Es posible que no deseemos esto en cada página, sino que simplemente seleccione páginas. Para manejar estos elementos, usaremos un par de declaraciones condicionales. Si la URL canónica y / o el contenido de los robots se definen para una página determinada, incluiremos los elementos en . Si se cumple la condición entre paréntesis, se ejecuta el código entre paréntesis ({…}).

‘;

}

// Si se especifica el contenido de meta robots, incluya la metaetiqueta robots

if ($ pageRobots)

{

echo ‘‘;

}

?>

. . .

‘;

}

// Si se especifica el contenido de meta robots, incluya la metaetiqueta robots

if ($ pageRobots)

{

echo ‘‘;

}

?>

. . .

Ahora que tenemos un con elementos que dependen de variables definidas en la página, hemos realizado la mayor parte del trabajo “duro”. Pasemos a definir estas variables específicas de la página.

2. Definir variables PHP específicas de la página.

Por lo tanto, para cada página en nuestro sitio, todos los archivos PHP individuales, necesitaremos definir, como mínimo, dos variables ($ pageTitle y $ pageDescription) antes de nuestra declaración include (header.php). Idealmente, escribiríamos algunos condicionales para detectar casos en los que estas variables no están definidas; pero por ahora, tendremos mucho cuidado de definirlos en cada página. También tenemos la opción de definir dos variables adicionales ($ pageCanonical y $ pageRobots). Para definir una variable, usamos la sintaxis: $ variable = “Esto es una cadena” ;. Avancemos y asignemos valores a nuestras cuatro variables para la página de inicio. Trabajaremos con el archivo index.php. (El tema de nuestro sitio es Orange Widgets).

// Definir variables para SEO

$ pageTitle = ‘Widgets naranjas | The Best Orange Widgets ‘;

$ pageDescription = ‘Visite http://AwesomeOrangeWidgets.com para encontrar los mejores widgets naranjas en todas las tierras (Oz incluido).’;

$ pageCanonical = ‘ http: //www.awesomeorangewidgets …’;

// Todavía no queremos que los motores de búsqueda vean nuestro sitio web

$ pageRobots = ‘noindex, nofollow’;

// Incluir archivo de encabezado

include (‘header.php’);

. . .

?>

// Definir variables para SEO

$ pageTitle = ‘Widgets naranjas | The Best Orange Widgets ‘;

$ pageDescription = ‘Visite http://AwesomeOrangeWidgets.com para encontrar los mejores widgets naranjas en todas las tierras (Oz incluido).’;

$ pageCanonical = ‘ http: //www.awesomeorangewidgets …’;

// Todavía no queremos que los motores de búsqueda vean nuestro sitio web

$ pageRobots = ‘noindex, nofollow’;

// Incluir archivo de encabezado

include (‘header.php’);

. . .

?>

Bastante simple, ¿verdad? Hemos definido nuestro título, meta descripción, URL canónica y contenido de meta robots con cuatro variables PHP. Veamos cómo se ve la parte superior del código fuente para index.php.

Orange Widgets | Los mejores widgets de naranja

http://AwesomeOrangeWidgets.com para encontrar los mejores widgets naranjas en todas las tierras (Oz incluido).”>

http: //www.awesomeorangewidgets… .”>

. . .

Orange Widgets | Los mejores widgets de naranja

http://AwesomeOrangeWidgets.com para encontrar los mejores widgets naranjas en todas las tierras (Oz incluido).”>

http: //www.awesomeorangewidgets… .”>

. . .

No está mal, ¿eh? Si bien puede parecer difícil declarar estas variables página por página, en realidad no es muy diferente a usar All in One SEO para WordPress o algo comparable para otro CMS. Una vez que se haya familiarizado con los conceptos descritos anteriormente, descubrirá que editar los archivos directamente no es un proceso tan exigente como podría haber pensado. Para aquellos de ustedes que trabajan en pequeños sitios web basados ​​en PHP, les recomiendo implementar los elementos dinámicos que hemos discutido. Lo que lleva minutos implementar puede generar años de valor.

¿Algún consejo o truco genial cuando se trata de hacer SEO para sitios web / aplicaciones basados ​​en PHP? ¡Compártelas en los comentarios a continuación!

Actividades en la página: –

Optimización de títulos, optimización de metaetiquetas, etiquetas HTML importantes, optimización de palabras clave y

Sinónimos, Optimización de enlaces, Optimización de imagen, TIEMPO DE CARGA del sitio web, Google Analytic,

Robots.txt, Sitemap.xml, Copia de comprobación de contenido, Densidad de palabras clave, Comprobación de enlaces rotos.

Actividades fuera de la página: –

Envío de directorios, Marcadores sociales, Publicación de artículos, Comunicado de prensa, Publicación en blog,

Comentario de blog, publicación de perfil, publicación clasificada, publicación en foro, motor de búsqueda

presentación, publicación de imágenes, construcción de enlaces, rueda de enlaces, publicación de videos, publicaciones de blog, PPT, doc.

Presentación, SMO (Facebook, LinkedIn, Twitter), LISTADO DE NEGOCIOS locales, Gráficos de información,

Publicación de productos.

Si está buscando SEO SEO para sitios web centrales, visite http://www.digitalacrobatics.com/

Mientras sigas las buenas prácticas de SEO, la plataforma no importa.