News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Tutorial Instalar Seo4smf Url Legibles en Foro SMF

Started by H@free, November 01, 2007, 06:05:59 PM

Previous topic - Next topic

H@free

#1
Esto es a base de lo que he realizado...




SEO4SMF Solución


El tema más tratado por muchos de nosotros... Y aún no hay mucho sobre, e aquí un pequeño Manual de Instalacion SEO4SMF...

Empezaremos Instalando:

> seo4smf-0.2.9.9
> Lo podemos descargar de aquí...
http://www.webmasterstalks.com/tpmod.html;dl=item48

> Nos dirigimos a la Administración de nuestro Sitio
> Paquetes
> Al tener descargado seo4smf (No lo descomprimimos)
> Le damos descargar paquetes y subimos el paquete (Examinar y lo subimos a nuestro servidor)
> Le damos aplicar mod...
> Nos quedará una administración del mismo así como muestra la imagen


Teniendo esto... Listo:
> Procedemos a subir el htaccess ( /foro ) si es que el directorio esta así... DESCARGAR nos abrira un txt lo guardamos en un bloc de notas (txt) lo subimos a nuestro directorio y estando allí lo renombramos a .htaccess... nada más...

> También subimos este archivito que se llama php.ini DESCARGAR (Este archivo tenemos que subirlo al la carpeta donde se encuentra el paquete del SMF ( /foro ). También lo guardamos en un bloc de notas (txt) lo subimos a la carpeta donde se encuentra instalado el smf (/foro) al tenerlo allí como txt simplemente lo renombramos a php.ini nada más...

> Luego de realizar esto... nos vamos nuestro Cliente FTP y entramos a la carpeta Sources (/foro/Sources/)
> De ese directorio nos descargaremos el archivo QueryString.php
> Lo descargamos a nuestro pc para una pequeña editación...

Teniendo este archivo en nuestra pc...

Buscamos esta línea:

    // This should work even in 4.2.x, just not CGI without cgi.fix_pathinfo.
	
if (!empty(
$modSettings['queryless_urls']) && (!$context['server']['is_cgi'] || @ini_get('cgi.fix_pathinfo') == 1) && $context['server']['is_apache'])
	
{
	
	
// Let's do something special for session ids!
	
	
if (
defined('SID') && SID != '')
	
	
	
$buffer preg_replace('/"' preg_quote($scripturl'/') . '\?(?:' SID ';)((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e'"'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html?' . SID . '\$2\"'"$buffer);
	
	
else
	
	
	
$buffer preg_replace('/"' preg_quote($scripturl'/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e'"'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'"$buffer);
	
}


Y la reemplazamos por esta:

    // This should work even in 4.2.x, just not CGI without cgi.fix_pathinfo.
//
	
if (!empty($modSettings['queryless_urls']) && (!$context['server']['is_cgi'] || @ini_get('cgi.fix_pathinfo') == 1) && $context['server']['is_apache'])
//
	
{
	
	
// Let's do something special for session ids!
	
	
if (
defined('SID') && SID != '')
	
	
	
$buffer preg_replace('/"' preg_quote($scripturl'/') . '\?(?:' SID ';)((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e'"'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html?' . SID . '\$2\"'"$buffer);
	
	
else
	
	
	
$buffer preg_replace('/"' preg_quote($scripturl'/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e'"'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'"$buffer);
//
	
}


Al tenerlo editado lo subimos de nuevo...
> Esto lo que realizará será la paginación de los contenidos publicados (que 1, 2, 3, 4, 5 etc) podremos acceder correctamente y otros)...

bigo

que mal o es una o es otra... si lo activo no se ve mi editor de los post...

y aun asi no me funciona todo mal jejejej
Devuelta pero sin pagina :P

Mis Mod:
multiples bbcode - Nuevo  MessagePreview - firma por defecto

H@free

MMM no se que es pero... hasta ahora no me da dado nada problemillas desde como las 1:30 que lo instale sigue intacto jeje...

Mala suerte she... que pena...

bigo

asi es... oye no tienes probemas con el  panel del admin???
Devuelta pero sin pagina :P

Mis Mod:
multiples bbcode - Nuevo  MessagePreview - firma por defecto

H@free

Nada... he estado pendiente del mismo desde que lo instale y nada ni siquiera una simple letra no aparece Gracias a Dios mejor así... xD...


Jose7up


Te ha quedado muy bueno el tuto, felicidades, yo tampoco tengo ningun problema con el mod de momento, los que teniamos se solucionarón, unicamente era el de la paginación, por lo demas voy probando y todo sigue correcto.

Un saludo.

H@free

Le dado vueltas y vueltas al mod... esta excelente...

Sin nada de errores.. uff alivio y alivio...
Esto es un tesoro para mí y para otros...
Gracias... compadre

Jose7up

Quote from: H@free on November 02, 2007, 03:17:04 PM
Le dado vueltas y vueltas al mod... esta excelente...

Sin nada de errores.. uff alivio y alivio...
Esto es un tesoro para mí y para otros...
Gracias... compadre

Ummhh si, la verdad da gusto tener las URL "amigables", jajajaja para mi tb es un tesoro, de momento va todo perfecto yo tb le he estado dando muchas vueltas no te pienses y cada vez me gusta más ^^, espera que google se de cuenta ;) entonces si disfrutaremos como niños :p.

Un saludo y gracias a ti tb!!

H@free

Estaba revisando tu web... y cuando instale el mod en hispa me genero description y keywords de cada post...

QueryString.php
En este archivo allí pone metas automaticamente... yo lo quite... y lo puse a mi manera...

Pero veo que a tí no te realizo nada...


Si no me recuerdas de esa línea:
    // This should work even in 4.2.x, just not CGI without cgi.fix_pathinfo.

jeje... xD...

Lo que hiba a realizar era darte my archivo modificado para que intentaras... jaja...  ;D


FotoZone

Algunos de los archivos que este paquete necesita modificar no son escribibles. Esto necesita ser cambiado ingresando vía FTP y chmod o crear los archivos y directorios. Tu información de FTP puede ser almacenada temporalmente para una operación correcta del manejador de paquetes.
550 /vhosts/fotozone.es/httpdocs: No such file or directory

Jose7up


Quote from: FotoZone on November 30, 2007, 04:25:56 PM
Algunos de los archivos que este paquete necesita modificar no son escribibles. Esto necesita ser cambiado ingresando vía FTP y chmod o crear los archivos y directorios. Tu información de FTP puede ser almacenada temporalmente para una operación correcta del manejador de paquetes.
550 /vhosts/fotozone.es/httpdocs: No such file or directory

xD .... pufff... jejeje hace dos dias formulaste la misma pregunta y te dieron una respuesta a la cual diste las gracias, como se come esto?

FotoZone


Jose7up


jakesancho

ola queria saber porque cuando quiero abrir un post kuando esta activado el seo4smf no lo puedo abir i cuando esta descativado si...i en los dos casos la direccion acaba con ".html" muchas gracias... i e echo lo mismo que el tutorial menos reemplaçar el query por me parece que lo an coregido por que no me sale =

muchas gracias por vuestra ayuda

JUANJO

Hola, me decidí por instalar este mod pero me dio fallo al instalarlo en el archivo sources/QueryString.php entonces pensé en modificarlo manualmente como indica el seo4smf.xml , y todo me va bién excepto al realizar la última y mas larga operación.
Aqui las 3 operaciones a realizar del QueryString según el seo4smf.xml
</operation>
</file>
<file name="$sourcedir/QueryString.php">
<operation>
<search position="replace"><![CDATA[
if (empty($_COOKIE) && SID != '' && empty($context['browser']['possibly_robot']) && @version_compare(PHP_VERSION, '4.3.0') != -1)
]]></search>
<add><![CDATA[
if (empty($_COOKIE) && SID != '' && empty($context['browser']['possibly_robot']) && @version_compare(PHP_VERSION, '4.3.0') != -1 && ($modSettings['seo4smf_enable']!="on"))
]]></add>
</operation>
<operation>
<search position="before"><![CDATA[
// If $scripturl is set to nothing, or the SID is not defined (SSI?) just quit.
if ($scripturl == '' || !defined('SID'))
return $buffer;
]]></search>
<add><![CDATA[
$scripturl1=str_replace("/index.php","",$scripturl);

]]></add>
</operation>
<operation>
<search position="replace"><![CDATA[
else
$buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'", $buffer);
]]></search>
<add><![CDATA[
                    if ($modSettings['seo4smf_sb_enable'] == "on")
                    {
                        $buffer = preg_replace('/<!-- Seo4SMF Social Bookmark -->/', create_sb() , $buffer);
                    }

                    if ($modSettings['seo4smf_enable'] == "on")
                    {

                        $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic|page)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_urls(strtr('\$1', '&;=', '//,')) . '\$2\"'", $buffer);

                        if ($modSettings['seo4smf_beautify_profiles'] == "on")
                        {
                            $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?action=profile;u=([^#"]+?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_url_profiles(strtr('\$1', '&;=', '//,')) . '\$2\"'", $buffer);
                        }

                        if ($modSettings['seo4smf_beautify_actions'] == "on")
                        {
    $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?action=([^#"]+?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_url_action('\$1'). '\$2\"'", $buffer);
}

if ($modSettings['seo4smf_keywords'] == "on")
{
                        $buffer = preg_replace('<meta name="keywords" content=(.*) />', create_keywords() , $buffer);
}
if ($modSettings['seo4smf_description'] == "on")
{
                        $buffer = preg_replace('<meta name="description" content=(.*) />', create_description() , $buffer);
}

                        $buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF &copy; 2006-2007, Simple Machines LLC<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF &copy; 2006-2007, Simple Machines LLC</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 &copy; Webmaster\'s Talks</a>' , $buffer);
                        $buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF &copy; 2006, Simple Machines LLC<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF &copy; 2006, Simple Machines LLC</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 &copy; Webmaster\'s Talks</a>' , $buffer);
                        $buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF © 2001-2006, Lewis Media<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF &copy; 2001-2006, Simple Machines, Lewis Media</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 &copy; Webmaster\'s Talks</a>' , $buffer);
                    }
                    else
                    {
                        $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'", $buffer);
                    }
]]></add>
</operation>

Aqui la operación donde me falla el foro ya.
<operation>
<search position="replace"><![CDATA[
else
$buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'", $buffer);
]]></search>
<add><![CDATA[
                    if ($modSettings['seo4smf_sb_enable'] == "on")
                    {
                        $buffer = preg_replace('/<!-- Seo4SMF Social Bookmark -->/', create_sb() , $buffer);
                    }

                    if ($modSettings['seo4smf_enable'] == "on")
                    {

                        $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic|page)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_urls(strtr('\$1', '&;=', '//,')) . '\$2\"'", $buffer);

                        if ($modSettings['seo4smf_beautify_profiles'] == "on")
                        {
                            $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?action=profile;u=([^#"]+?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_url_profiles(strtr('\$1', '&;=', '//,')) . '\$2\"'", $buffer);
                        }

                        if ($modSettings['seo4smf_beautify_actions'] == "on")
                        {
    $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?action=([^#"]+?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_url_action('\$1'). '\$2\"'", $buffer);
}

if ($modSettings['seo4smf_keywords'] == "on")
{
                        $buffer = preg_replace('<meta name="keywords" content=(.*) />', create_keywords() , $buffer);
}
if ($modSettings['seo4smf_description'] == "on")
{
                        $buffer = preg_replace('<meta name="description" content=(.*) />', create_description() , $buffer);
}

                        $buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF &copy; 2006-2007, Simple Machines LLC<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF &copy; 2006-2007, Simple Machines LLC</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 &copy; Webmaster\'s Talks</a>' , $buffer);
                        $buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF &copy; 2006, Simple Machines LLC<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF &copy; 2006, Simple Machines LLC</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 &copy; Webmaster\'s Talks</a>' , $buffer);
                        $buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF © 2001-2006, Lewis Media<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF &copy; 2001-2006, Simple Machines, Lewis Media</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 &copy; Webmaster\'s Talks</a>' , $buffer);
                    }
                    else
                    {
                        $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'", $buffer);
                    }
]]></add>
</operation>

Mi pregunta es....
Es indispensable modificar este archivo como indica el mod o con solo hacer la que se indica al inicio de este tema es suficiente?

HotJoint

Lo que dice el mod es lo que se debe de hacer casi seguro

H@free

El Mod al parecer ya no hay que darle mano al QueryString, ya han modificado tal cosa...
Solo subiendo el mod cambiando de nombre el htacces y modificando la ruta del smf...


foxmulder

Hola,

Para los muy torpes (como yo) habria que añadir al manual que el .htaccess hay que modificarlo! Cambiando /forum por la carpeta real donde esté nuestro foro.

Otra cosa, tengo dudas sobre las opciones del MOD

Seo4SMF Enable   
Remove board from front of topic ? >> ¿Qué es lo qué elimina que no veo cambios en los temas?
Beautifying url for profile members ?   
Beautifying url for forum actions ?   
Remove accented characters from url's ?   
Enable SQL Query when we don't find url in SMF Context ? >> ¿Qué quiere decir esto?

Ahora una observación SEO,

Si google ya tiene una buena cantidad de paginas de mi foro indexadas en el formato "url-feas" voy a perder todas esas paginas o incluso me va a detectar las url nuevas como contenido duplicado, ¿no?

Advertisement: