Anuncio

Colapsar
No hay anuncios todavía.

404 /301 Tool Utilizar en foros migrados a traves de ImpEx, despues de migrar

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • 404 /301 Tool Utilizar en foros migrados a traves de ImpEx, despues de migrar

    Una de las mayores ventajas que posee vBulletin es la herramienta ImpEx. ImpxEx permite importar de forma sencilla y rápida el contenido de tu foro anterior, ya sea phpBB, IPB, SMF, etc, a vBulletin, permitiéndote de forma sencilla actualizar tu foro a vBulletin/vBSEO sin perder todos los post/usuarios del foro anterior que utilizabas.

    La parte mala de ImpEx reside en que si tenías "threads únicos" o "posts borrados", ImpEx no mantiene los mismos IDs (Identificadores Únicos de Mensaje), esto produce un impacto negativo desde el punto de vista SEO en el nuevo foro (el foro transferido).

    Afortunadamente, Jerry ha creado un script 404 que toma los IDs importados y los redirige a los nuevos creados por vBulletin. Esta es una gran herramientas para foros que han sido migrados desde otro foro a través de ImpEx. Hemos pedido permiso a Jerry para poder modificar su script y suministrarlo a los usuarios de vBSEO.

    El sistema actualmente soporta phpBB, SMF, IPB 2 y MyBB.

    Nota: Si tu foro no está en la lista y estás interesado en usar este script después de haber importado tu foro con ImpEx, por favor suminístranos URLs de ejemplo para poder preparar un .htaccess con reglas de redirección válidas para ti.

    Por favor sigue estas instrucciones de forma correcta para redireccionar desde tus viejas URLs a las nuevas:


    * Necesitas crear un archivo llamado vbseo301.php con el código que esta en el adjunto vbseo301.txt:

    Código:
    <?php
    /**
    * 404 /301 for external and internal link redirect.
    *
    * @package            ImpEx.tools
    * @version            $Revision: 1902 $
    * @author            Jerry Hutchings <jerry.hutchings@vbulletin.com>
    * @modified by             Oleg Ignatiuk
    */
    $standard_404     = 'http://www.ejemplo.com/not_found.html';     // El error 404 que sera reemplazado por este script
    $new_domain     = 'www.ejemplo.com'; // Incluir la extension del dominio, como por ejemplo  www.ejemplo.com , no incluyas http://
    $new_folder        = 'vBulletin';    // Nuevo directorio, sin el simbolo backslash
    $ext_type        = '.php';         // Extension usada por los archivos de vBulletin, tal como index.php, incluyendo el punto al inicio
    
    // Base de datos
    // Estos son los datos de acceso a la base de datos, necesarios para buscar el id importado
    $server         = 'localhost';
    $user             = 'usuario';
    $password         = 'contraseña';
    $database         = 'forum';
    $tableprefix     = '';
    
    
    $old_id         = intval($_GET['oldid']);
    $page            = intval($_GET['page']);
    $postcount        = intval($_GET['postcount']);
    $action         = $_GET['action'];
    $sql             = null;
    
    switch ($action)
    {
        case 'forum':
            $sql = "SELECT forumid FROM {$tableprefix}forum WHERE importforumid={$old_id}";
            $new_url = "http://{$new_domain}/{$new_folder}forumdisplay{$ext_type}?f=";
        break;
    
        case 'thread':
            $sql = "SELECT threadid FROM {$tableprefix}thread WHERE importthreadid={$old_id}";
            $new_url = "http://{$new_domain}/{$new_folder}showthread{$ext_type}?t=";
        break;
    
        case 'post':
            $sql = "SELECT postid FROM {$tableprefix}post WHERE importpostid={$old_id}";
            $new_url = "http://{$new_domain}/{$new_folder}showpost{$ext_type}?p=";
        break;
    
        case 'user':
            $sql = "SELECT userid FROM {$tableprefix}user WHERE importuserid={$old_id}";
            $new_url = "http://{$new_domain}/{$new_folder}member{$ext_type}?u=" ;
        break;
    }
    
    
    if( $sql )
    {
        $link = @mysql_connect($server, $user, $password);
        if ($link)
        {
            $db_selected = @mysql_select_db($database, $link);
    
            if ($db_selected)
            {
                $result = @mysql_query($sql);
                $row = @mysql_fetch_row($result);
    
                if (!$row[0])
                {
                    $action = 'Original data missing';
                }
                @mysql_free_result($result);
            }
        }
    }
    
    if (!$sql || !$old_id || !$row[0])
    {
    ?>
        <html>
        <head>
            <meta http-equiv="refresh" content="<?php echo $refresh_speed; ?>; URL=<?php echo $standard_404; ?>">
        </head>
        <body>
        </body>
        </html>
    <?php
        // Got nuffink
        die;
    }
    
    $new_url .= $row[0];
    
    if($page)     
        $new_url .= "&page={$page}";
           
    if($postcount)
       $new_url .= "&postcount={$postcount}";
    
    @mysql_close($link);
    
    header( "HTTP/1.1 301 Moved Permanently" );
    header( "Location: {$new_url}" );
    ?>
    * Es necesario que edites el archivo y te asegures de que tiene la información de acceso a la base de datos correcta. Las líneas que necesitas editar son:

    Código PHP:
     $standard_404     'http://www.ejemplo.com/not_found.html';     // El error 404 que sera reemplazado por este script
    $new_domain     'www.ejemplo.com'// Incluir la extension del dominio, como por ejemplo  [url]www.ejemplo.com[/url] , no incluyas http://
    $new_folder        'vBulletin';    // Nuevo directorio, sin el simbolo backslash
    $ext_type        '.php';         // Extension usada por los archivos de vBulletin, tal como index.php, incluyendo el punto al inicio

    // Base de datos
    // Estos son los datos de acceso a la base de datos, necesarios para buscar el id importado
    $server         'localhost';
    $user             'usuario';
    $password         'contraseña';
    $database         'forum';
    $tableprefix     ''
    * Luego tienes que añadir las siguientes reglas de reescritura en tu archivo .htaccess, justo después de la línea 'RewriteEngine On'. Por favor, selecciona las líneas de código correctas, basándote en el software que se ejecuta en el antiguo foro:

    Usuarios de phpBB

    Código:
    RewriteCond %{QUERY_STRING} f=([0-9]+)
    RewriteRule viewforum\.php vbseo301.php?action=forum&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} t=([0-9]+)
    RewriteRule viewtopic\.php vbseo301.php?action=thread&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} ^p=([0-9]+)
    RewriteRule viewtopic\.php vbseo301.php?action=post&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} u=([0-9]+)
    RewriteRule profile\.php vbseo301.php?action=user&oldid=%1 [L]
    Usuarios de SMF


    Código:
    RewriteCond %{QUERY_STRING} board=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=forum&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} topic=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=thread&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} .msg([0-9]+)
    RewriteRule index\.php vbseo301.php?action=post&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} action=profile;u=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=user&oldid=%1 [L]
    Usuarios de IPB 2


    Código:
    RewriteCond %{QUERY_STRING} showforum=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=forum&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} showtopic=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=thread&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} view=findpost&p=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=post&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} showuser=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=user&oldid=%1 [L]
    Usuarios de MyBB 1.2 / 1.4


    Código:
    RewriteCond %{QUERY_STRING} pid=([0-9]+)
    RewriteRule showthread\.php vbseo301.php?action=post&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} tid=([0-9]+)\&page=([0-9]+)
    RewriteRule showthread\.php vbseo301.php?action=thread&oldid=%1&page=%2 [L]
    
    RewriteCond %{QUERY_STRING} tid=([0-9]+)
    RewriteRule showthread\.php vbseo301.php?action=thread&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} fid=([0-9]+).*page=([0-9]+)
    RewriteRule forumdisplay\.php vbseo301.php?action=forum&oldid=%1&page=%2 [L]
    
    RewriteCond %{QUERY_STRING} fid=([0-9]+)
    RewriteRule forumdisplay\.php vbseo301.php?action=forum&oldid=%1 [L]
    
    RewriteCond %{QUERY_STRING} action=profile\&uid=([0-9]+)
    RewriteRule member\.php vbseo301.php?action=user&oldid=%1 [L]
    Archivos adjuntos
    Recorda siempre leerte las normas del foro.

  • #2
    Hola nextgen, gracias por el tutorial; sabes si funciona tal cual para el uso de vBulletin 4.2.3?

    No sé exactamente cómo llevar a cabo este tutorial, sobre todo porque tengo entendido que vBSEO ya no se usa, sino DragonByte SEO, tal vez sea necesario que abra un tema aparte pidiendo soporte, espero tu respuesta.

    Gracias.

    Comentario

    Trabajando...
    X