¡Bienvenido! ¿Aún no estás registrado?, deberás registrarte antes de poder usar el Chat, Comentar y Descargar en el Foro. Usa un email válido para la activación.
Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

COMPLEMENTOS [MOD] Sitemap Administrable v2
#1

3
Mejor respuesta del mensaje [MOD] Sitemap Administrable v2[MOD] Sitemap Administrable v2

Mod original: Debes agradecer para ver el contenido...
Autor: aperpen

¿Que tiene de nuevo?
  1. Administración completa (v1)
  2. Administración modificada (v2)
  3. Inserción en robots.txt, para google detecte tu sitemap (v1)

# Configuraciones:
  1. Opción de insertar de forma automática los posts y las fotos que se crean (v1)
  2. Opción de actualizar la última modificación de una URL al editar un post o una imagen (v1)

# Ver URLs incluídas en el sitemap:
  1. Agregar, Editar, Borrar URLs (v1)
  2. Los cambios que realices de URLs no se verán reflejados en el sitemap no se verán reflejados hasta que tu lo desees. (v1)
  3. Sitemap completo (Url, frecuencia, ultima modificación, prioridad) (v1)
  4. URLs principales de tu web, incluídas por defecto. (v1)
  5. Restaurar URLs que vienen por defecto en cualquier momento. (v1)

# Generar la creación de archivos
  1. Sitemap.xml (v2)
  2. Robots.txt (v2)

La guía de instalación lo haré desde cero, en caso que ya lo tengas instalados, solo deberás reemplazar los fragmentos de códigos, ya que iran en el mismo lugar!

1 - Realizan la consulta
 
CREATE TABLE IF NOT EXISTS `w_sitemap` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `url` tinytext NOT NULL DEFAULT '',
  `frecuencia` varchar(15) NOT NULL DEFAULT '',
  `fecha` int(16) NOT NULL DEFAULT 0,
  `prioridad` decimal(2,1) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

ALTER TABLE `w_configuracion` 
ADD `sm_posts` int(1) NULL DEFAULT '1',
ADD `sm_fotos` int(1) NOT NULL DEFAULT '1',
ADD `sm_update_p` int(1) NOT NULL DEFAULT '1',
ADD `sm_update_f` int(1) NOT NULL DEFAULT '1';


2 - Abren el inc/class/c.admin.php y buscan la última llave } que cierra la class tsAdmin
 
/*
 * Sitemap y SEO administrables
*/
public function saveConfigSitemap(){
    global $tsCore;
    $configuraciones = [
        "posts" => empty($_POST['sm_posts']) ? 1,
        "fotos" => empty($_POST['sm_fotos']) ? 1,
        "update_p" => empty($_POST['sm_update_p']) ? 1,
        "update_f" => empty($_POST['sm_update_f']) ? 1
    
];
    $columns $tsCore->setUpdate($configuraciones"sm_");
    if (db_exec([__FILE____LINE__], 'query'"UPDATE w_configuracion SET {$columns} WHERE tscript_id = 1")) return true;
    else exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.''db') );            



3 - Abren el inc/php/admin.php y buscan:
 
   /** MEDALLAS **/
   } elseif($action == 'medals') { 

y arriba añaden o reemplazan (solo si lo tienen)
 
    //SITEMAP BY APERPEN
     } elseif($action == 'sitemap') {
       if(empty($act)) {
           // Obtenemos todas las urls de la base de datos
           $smarty->assign("tsURLs"$tsSiteMap->getURLsBD());
       } elseif($act === 'restaurar') {
           // Restauramos el sitemap
           if($tsSiteMap->CreateSiteMap()) {
               $tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
           }
       } elseif($act === 'generar') {
           // Generamos el sitemap
           if($tsSiteMap->generateSiteMap()) {
               $tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
           }
       } elseif($act === 'actual') {
           $smarty->assign("tsURLa"$tsSiteMap->getURLsBD());
       } elseif($act === 'borrar') {
           if($tsSiteMap->removeUrlBD((int)$_GET['id'])) {
               $tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
           }
       } elseif($act === 'editar') {
         if(!empty($_POST['url'])) {
            if($tsSiteMap->editUrl($_GET['id'], $_POST['url'], $_POST['frecuencia'], $_POST['prioridad'])) {
                $tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
            }
         } else $smarty->assign("tsURL"$tsSiteMap->getUrl((int)$_GET['id']));
       } elseif($act === 'nueva') {
         if(!empty($_POST['url'])) {
            if($tsSiteMap->addURL($_POST['url'], $_POST['frecuencia'], $_POST['prioridad'])) {
                $tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
            }
         } 
         
} elseif($act === 'config') {
             if(isset($_POST['sm_posts'])) {
                 if($tsAdmin->saveConfigSitemap()) {
                     $tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
                 }
             }
       }  


4 - Abren el inc/class/c.posts.php y buscan:
 
    $tsActividad->setActividad(1$postID);
    // SUBIR DE RANGO?
    $this->subirRango($tsUser->uid); 

y abajo agregan
 
    // Añadimos al sitemap
    if($tsCore->settings['sm_posts'] === 1) {
        $CatSeo db_exec('fetch_assoc'db_exec([__FILE____LINE__], 'query''SELECT c_seo FROM p_categorias WHERE cid = '.(int)$postData['category']))['c_seo'];
        $tsSiteMap->addUrlsm($tsCore->settings['url'].'/posts/'.$CatSeo.'/'.$postID.'/'.$tsCore->setSEO($postData['title']).'.html'); 
    


En el mismo archivo en la funcion savePost() arriba de 
 
    // GUARDAR EN EL HISTORIAL    DE MODERACION         
    if(($tsUser->is_admod || $tsUser->permisos['moedpo']) && $tsUser->uid != $data['post_user'] && $_POST['razon']){ 

añaden esto
 
    // Añadimos al sitemap
    if($tsCore->settings['sm_update_p'] === 1) {
        $CatSeo db_exec('fetch_assoc'db_exec([__FILE____LINE__], 'query''SELECT c_seo FROM p_categorias WHERE cid = '.(int)$postData['category']))['c_seo'];
        $tsSiteMap->updateLM($tsCore->settings['url'].'/posts/'.$CatSeo.'/'.$post_id.'/'.$tsCore->setSEO($postData['title']).'.html'); 
    
}  


5 - Abren el inc/class/c.fotos.php y buscan:
 
    // AGREGAR AL MONITOR DE LOS USUARIOS QUE ME SIGUEN
    $tsMonitor->setFollowNotificacion(101$tsUser->uid$fid);
    // ACTIVIDAD
    $tsActividad->setActividad(9$fid); 

y agregan debajo
 
    // Añadimos al sitemap
   if($tsCore->settings['sm_fotos'] === 1) {
      $tsSiteMap->updateLM($tsCore->settings['url'].'/fotos/'.$tsUser->nick.'/'.$fid.'/'.$tsCore->setSEO($fData['titulo']).'.html'); 
   
}  

y más abajo en la funcion editFoto() buscan
 
    // REDIRIGIMOS
   $url $tsCore->settings['url'].'/fotos/'.$data['user_name'].'/'.$fid.'/'.$tsCore->setSEO($fData['titulo']).'.html'

añaden esto
 
    // Añadimos al sitemap
   if($tsCore->settings['sm_update_f'] === 1) {
      $tsSiteMap->updateLM($tsCore->settings['url'].'/fotos/'.$data['user_name'].'/'.$fid.'/'.$tsCore->setSEO($fData['titulo']).'.html'); 
   
}  


6 - Abren el header.php que está en la raíz de su web y buscan:
 
// Mensajes de usuario
include TS_CLASS.'c.mensajes.php' 

y debajo agregan
 
include TS_CLASS.'c.sitemap.php'; 
$tsSiteMap 
= new tsSiteMap();
// Instalación automática a través de parámetros
$tsSiteMap->setAuto(); 


7 - Debes agradecer para ver el contenido... (PASO 5)

8 - Abren el themes/TUTEMA/templates/t.admin.tpl y buscan:
 
    {elseif $tsAction == 'rangos'}
      {include file='admin_mods/m.admin_rangos.tpl'}

y abajo agregan
 
    {elseif $tsAction == 'sitemap'}
      {include file='admin_mods/m.admin_sitemap.tpl'}


9 - Abren el themes/TUTEMA/templates/admin_mods/m.admin_sidemenu.tpl y buscan:
 
    <h4>Control de Usuarios</h4>
   <ul class="cat-list">
       <li id="a_users"><span class="cat-title"><a href="{$tsConfig.url}/admin/users">Todos los Usuarios</a></span></li>
       <li id="a_sesiones"><span class="cat-title"><a href="{$tsConfig.url}/admin/sesiones">Sesiones</a></span></li>
       <li id="a_nicks"><span class="cat-title"><a href="{$tsConfig.url}/admin/nicks">Cambios de Nicks</a></span></li>
      <li id="a_rangos"><span class="cat-title"><a href="{$tsConfig.url}/admin/rangos">Rangos de Usuarios</a></span></li>
   </ul>

y debajo añaden
 
    <h4>SEO</h4>
   <ul class="cat-list">
       <li id="a_cats"><span class="cat-title"><a href="{$tsConfig.url}/admin/sitemap">Sitemap</a></span></li>
   </ul>


10 - Suben los archivos a sus carpetas correspondientes
Debes agradecer para ver el contenido... -> inc/class
m.admin_sitemap.tpl (Debes agradecer para ver el contenido...) o (Debes agradecer para ver el contenido...) -> themes/TUTEMA/templates/admin_mods

11 - Para acabar, este paso en la v2 esta cambiado, por lo cual no requiere de crea un archivo en la raíz de su web que se llame install.php

Lo pueden ejecutar de 3 formas, si o si deben poner &uid=1, para que se pueda comprobar que es el administrador
Solo crea el Sitemap.xml
Registrate o inicia tu sesión para ver este contenido?sitemap=true&uid=1

Solo crea el Robots.txt
Registrate o inicia tu sesión para ver este contenido?robots=true&uid=1

Crea el sitemap.xml y Robots.txt
Registrate o inicia tu sesión para ver este contenido?sitemap=true&robots=true&uid=1
Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)