Back to top

Autore Topic: [risolto] Joomla 2.5 : come impostare i titoli degli articoli come titoli H1?  (Letto 19328 volte)

Offline mati1979

  • Esploratore
  • **
  • Post: 87
    • Mostra profilo
Ciao a tutti,
online si trovano tante guide che dicono di impostare come h1 il titolo degli articoli.
Joomla 2.5 assegna in automatico il titolo h2 al titolo degli articoli.
Online si trova una guida (vedi sotto) che spiega come fare l'ovveride dei titoli h1, ma è una guida che si riferisce a joomla 1.5 e le cose nella nuova versione di joomla mi sembrano molto diverse.
Qualcuno mi sa dire come posso fare in modo che l' h1 corrisponda al titolo degli articoli?
Ciao e grazie in anticipo





http://www.joomla.it/articoli-della-community/902-migliorare-il-posizionamento-di-joomla-con-loverride-i-titoli-h1.html



« Ultima modifica: 11 Nov 2012, 22:51:39 da mati1979 »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
ciao il procedimento è esattamente identico, non ti puoi sbagliare!
Il tag da modificare è lo stesso, cambia solo il numero di riga...

Offline mati1979

  • Esploratore
  • **
  • Post: 87
    • Mostra profilo
a me le righe da modificare non mi sembrano la 15 e la 22 come dice il post ...

in joomla 2.5 :
- la riga 15 è : $params      = $this->item->params;
- la riga 22: <div class="item-page<?php echo $this->pageclass_sfx?>">


ciao

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Di questa parte di post
Il tag da modificare è lo stesso, cambia solo il numero di riga...
cosa non ti è chiaro?

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Ad ogni modo non mi sembrava molto difficile trovare l'unico tag <h2> che appare nella pagina... Bisogna impegnarsi per non trovarlo: è alla riga 35..


Codice: [Seleziona]
<?php if ($params->get('show_title')) : ?>
<h2>
<?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
<a href="<?php echo $this->item->readmore_link?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</h2>
<?php endif; ?>

Diventerà quindi:

Codice: [Seleziona]
<?php if ($params->get('show_title')) : ?>
<h1>
<?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
<a href="<?php echo $this->item->readmore_link?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</h1>
<?php endif; ?>

Offline mati1979

  • Esploratore
  • **
  • Post: 87
    • Mostra profilo
Grazie mille :)
scusa l' "ignoranza"
Ciao
M

Offline Vanzojoomla

  • Esploratore
  • **
  • Post: 93
    • Mostra profilo
Scusate se mi intrometto...
Io sono poco pratico... ma i due file sono completamente diversi...
Ho fatto la sostituzione come scritto, il titolo diventa h1, ma perde tutte le caratterstiche che aveva prima (colore, paginazione, ecc..)
Grazie

Offline rhllor

  • Nuovo arrivato
  • *
  • Post: 5
  • Sesso: Maschio
    • Mostra profilo
Scusate se mi intrometto...
Io sono poco pratico... ma i due file sono completamente diversi...
Ho fatto la sostituzione come scritto, il titolo diventa h1, ma perde tutte le caratterstiche che aveva prima (colore, paginazione, ecc..)
Grazie

Perchè probabilmente nel CSS del tuo template hai impostati gli stili per il tag H2 anzichè per il tag H1. Ti è sufficiente andare nel file .CSS e associare gli stili dell'H1 a quelli dell'H2. Fai attenzione, però, perchè facendolo tutti gli h1 avranno lo stesso stile in tutte le pagine. Quindi se da qualche parte utilizzi un H1 questo cambierà il suo stile in base alle nuove direttive che gli hai associato.

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
esatto rhllor, proprio come dice anche la guida di tonicopi (per chi l'ha letta!)

Offline .Alex.

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
Salve,
Riprendop questo topic perchè ho un problema simile.
Il mio joomla genera i titoli delle categorie blog come testo (no hx solo testo).
Vorrei invece formattarli come h1 o h2. Se modifico manualmente il codice html generato ottengo quello che voglio.
Quindi ho pensato di fare l'override del codice in joomla, ma non trovo le righe che generano i titoli visualizzati nelle categorie di tipo blog.
Qualcuno puo aiutarmi ?

P.S. Chiedo scusa per aver gia aperto un post simile in altra sezione del forum

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
ciao alex se hai già aperto un'altro thread, continua li la discussione. Non puoi andare in giro per il forum a fare spam..

Offline .Alex.

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
Addirittura "spammer" per aver aperto un post e risposto ad un altro simile ??
Meno male che mi sono scusato, se no mi suonavano i carabinieri alla porta.

Comunque ho trovato la soluzione.
Prego i moderatori di chiudere l'altro post: http://forum.joomla.it/index.php/topic,175245.0.html


Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
che suscettibilità... la prossima volta magari fa anche una ricerca prima di aprire l'altra discussione che come hai visto si è rivelata inutile (come questo intervento, tral'altro...)

Offline .Alex.

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
mah...

Offline Davide1981

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Ciao. Ho provato a fare quello che avete scritto sopra, ma nel mio file default.php c'è già l'h1. Cosa devo fare quindi? Vi scrivo il codice. Grazieee!!!



<?php if ($this->params->get('show_page_heading', 1)) : ?>
   <h1>
   <?php echo $this->escape($this->params->get('page_heading')); ?>
   </h1>
<?php endif; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative)
{
 echo $this->item->pagination;
}
 ?>


<?php if ($params->get('show_title')) : ?>
   <h2>
   <?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
      <a href="<?php echo $this->item->readmore_link; ?>">
      <?php echo $this->escape($this->item->title); ?>[/url]
   <?php else : ?>
      <?php echo $this->escape($this->item->title); ?>
   <?php endif; ?>
   </h2>
<?php endif; ?>

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Ciao davide, l'h1 già presente corrisponde ad un altro titolo. Se modifichi il tag h2 in h1 anche il titolo dell'articolo assume una maggiore importante a livello seo!

Offline Davide1981

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Scusa, non riesco a capire ..
Quindi ci possono essere due h1?

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
A livello sintattico è indifferente (non si inca**a nessuno) a livello seo basta che usi uno solo dei due... se hai paura di fare errori cambia l'h1 in h2 ma avresti comunque una situazione atipica in quanto l'h2 si troverebbe al di sopra dell'h1 (gerarchicamente scorretto)

Offline Davide1981

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Quindi tu cosa mi consigli di fare, in base al codice php che ho scritto sotto?
Poi, vorrei farti un'altra domanda riguardo i SEO, se posso qui, spero vada bene.
Molte volte su Google, nei risultati di ricerca, appare l'indirizzo principale in alto (ad esempio "La Gazzetta dello Sport") e sotto un bell'elenco delle varie sezioni del sito (in questo caso, "calcio", "ciclismo", etc.). Tu sai come si fa ad ottenere un risultato del genere anche per un sito costruito con Joomla 2.5? Grazie.

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Quindi tu cosa mi consigli di fare, in base al codice php che ho scritto sotto?
-----------------------------------------------------------
Quello che ritieni più idoneo per il tuo sito. Se non usi i titoli che attualmente sono già h1, trasforma gli h2 degli articoli in h1 e continua così (ad esempio).



Poi, vorrei farti un'altra domanda riguardo i SEO, se posso qui, spero vada bene.
----------------------------------------------------------------
Non sono molto preparato sull'argomento. Prova a postare nella sezione SEO , avrai il parere di persone più competenti di me. La questione google comunque mi puzza di "automatico"

Offline Davide1981

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Ho quindi cambiato il tag h2 in h1, ma ora è successa una cosa strana ..
Nella mia sitemap, è cambiato il nome di un articolo e ora appare come:
http://www.nomesito.com/component/content/article/12-news/6-aliaschehoscritto.html
Non riesco a capire perchè .. Tra l'altro, quando dal pannello di controllo di Joomla entro nell'editor dell'articolo, lo modifico, ma quella pagina non compare .. Cioè, riesco a raggiungerla solo dal link di Xmap ..
Sai come faccio ad eliminarla o toglierla da Xmap?

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
stai igornando completamente il concetto fondamentale del mio post precedente e comunque non stai seguendo le linee guida sull'utilizzo del forum.
Grazie

Offline Davide1981

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Perdonami, sono all'inizio, se non capisco qualcosa è dovuto all'inesperienza ..
Quale concetto fondamentale ho ignorato? Mi avevi detto che potevo cambiare i tag h2 in h1, mi sembra di aver capito ..

In che senso non sto seguendo le linee guida? Cosa ho scritto di sbagliato?

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
al punto 1: io non ne capisco quasi niente di seo!
al punto 2: è buona norma aprire un post per ogni argomento e non accodarsi ai topic altrui per migliorare la leggibilità del forum

Offline Davide1981

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Ma infatti non ho più toccato l'argomento SEO in questo topic, mi riferivo sempre alla questione h1-h2 ..

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
la questione sitemap si allontana dalla modifica del tag h1-h2 e porterà sicuramente ad una serie di considerazioni molto più vaste. Non estendiamo inutilmente la lunghezza di questo topic!

Offline masmaz

  • Appassionato
  • ***
  • Post: 663
  • Sesso: Maschio
    • Mostra profilo
mi sorge un dubbio  nel mio template non c'e' la cartella html/com_content/article/

devo crearla o metto il file defaul.php all'interno della cartella mio_template??
« Ultima modifica: 17 Apr 2013, 15:29:41 da masmaz »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
ciao masmaz! La procedura per effettuare l'override prevede anche la creazione di tale cartella. Se la cartella è già presente vuol dire che il template in uso effettua già una override ed è possibile partire da quella, altrimenti è necessario crearla e copiarvi dentro il file da modificare

Offline masmaz

  • Appassionato
  • ***
  • Post: 663
  • Sesso: Maschio
    • Mostra profilo
dunque dunque... ho creato quelle cartelle, messo il file modificato ma poi il sito non funziona più...  (sono su axxxa)  tolto il file il sito rifunziona...


mha!   faccio prima a mettere <h1>  a mano...



l'errore è il seguente Errore del server
« Ultima modifica: 18 Apr 2013, 18:01:09 da masmaz »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
hai fatto qualche errore nella procedura. segui attentamente la guida e cortesemente non citare i nomi di servizi commerciali sul forum.

Offline masmaz

  • Appassionato
  • ***
  • Post: 663
  • Sesso: Maschio
    • Mostra profilo
ah si scusa...   


faccio prima a postarlo perche a me sembra tutto ok.... sembra


Codice: [Seleziona]
?php


/**


 * @package Joomla.Site


 * @subpackage com_content


 * @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.


 * @license GNU General Public License version 2 or later; see LICENSE.txt


 */






// no direct access


defined('_JEXEC') or die;






JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');






// Create shortcuts to some parameters.


<td class="contentheading<?php echo $this->params->get'pageclass_sfx' ); ?>" width="100%">
<h1 class="contentheading<?php echo $this->params->get'pageclass_sfx' ); ?>" >


$images = json_decode($this->item->images);


$urls = json_decode($this->item->urls);


$canEdit = $this->item->params->get('access-edit');


$user = JFactory::getUser();


?>


</h1></td>


<?php if ($this->params->get('show_page_heading')) : ?>


<h1>


<?php echo $this->escape($this->params->get('page_heading')); ?>


</h1>


<?php endif; ?>


<?php


if (!empty($this->item->pagination) AND $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative)


{


 echo 
$this->item->pagination;


}


 
?>







<?php if ($params->get('show_title')) : ?>


<h1>


<?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>


<a href="<?php echo $this->item->readmore_link?>">


<?php echo $this->escape($this->item->title); ?></a>


<?php else : ?>


<?php echo $this->escape($this->item->title); ?>


<?php endif; ?>


</h1>


<?php endif; ?>






<?php if ($canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>


<ul class="actions">


<?php if (!$this->print) : ?>


<?php if ($params->get('show_print_icon')) : ?>


<li class="print-icon">


<?php echo JHtml::_('icon.print_popup',  $this->item$params); ?>


</li>


<?php endif; ?>






<?php if ($params->get('show_email_icon')) : ?>


<li class="email-icon">


<?php echo JHtml::_('icon.email',  $this->item$params); ?>


</li>


<?php endif; ?>






<?php if ($canEdit) : ?>


<li class="edit-icon">


<?php echo JHtml::_('icon.edit'$this->item$params); ?>


</li>


<?php endif; ?>






<?php else : ?>


<li>


<?php echo JHtml::_('icon.print_screen',  $this->item$params); ?>


</li>


<?php endif; ?>






</ul>


<?php endif; ?>






<?php  if (!$params->get('show_intro')) :


echo $this->item->event->afterDisplayTitle;


endif; 
?>







<?php echo $this->item->event->beforeDisplayContent?>






<?php $useDefList = (($params->get('show_author')) or ($params->get('show_category')) or ($params->get('show_parent_category'))


or ($params->get('show_create_date')) or ($params->get('show_modify_date')) or ($params->get('show_publish_date'))


or ($params->get('show_hits'))); ?>







<?php if ($useDefList) : ?>


<dl class="article-info">


<dt class="article-info-term"><?php  echo JText::_('COM_CONTENT_ARTICLE_INFO'); ?></dt>


<?php endif; ?>


<?php if ($params->get('show_parent_category') && $this->item->parent_slug != '1:root') : ?>


<dd class="parent-category-name">


<?php $title $this->escape($this->item->parent_title);


$url '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->parent_slug)).'">'.$title.'</a>';?>



<?php if ($params->get('link_parent_category') and $this->item->parent_slug) : ?>


<?php echo JText::sprintf('COM_CONTENT_PARENT'$url); ?>


<?php else : ?>


<?php echo JText::sprintf('COM_CONTENT_PARENT'$title); ?>


<?php endif; ?>


</dd>


<?php endif; ?>


<?php if ($params->get('show_category')) : ?>


<dd class="category-name">


<?php  $title $this->escape($this->item->category_title);


$url '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';?>



<?php if ($params->get('link_category') and $this->item->catslug) : ?>


<?php echo JText::sprintf('COM_CONTENT_CATEGORY'$url); ?>


<?php else : ?>


<?php echo JText::sprintf('COM_CONTENT_CATEGORY'$title); ?>


<?php endif; ?>


</dd>


<?php endif; ?>


<?php if ($params->get('show_create_date')) : ?>


<dd class="create">


<?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON'JHtml::_('date'$this->item->createdJText::_('DATE_FORMAT_LC2'))); ?>


</dd>


<?php endif; ?>


<?php if ($params->get('show_modify_date')) : ?>


<dd class="modified">


<?php echo JText::sprintf('COM_CONTENT_LAST_UPDATED'JHtml::_('date'$this->item->modifiedJText::_('DATE_FORMAT_LC2'))); ?>


</dd>


<?php endif; ?>


<?php if ($params->get('show_publish_date')) : ?>


<dd class="published">


<?php echo JText::sprintf('COM_CONTENT_PUBLISHED_DATE_ON'JHtml::_('date'$this->item->publish_upJText::_('DATE_FORMAT_LC2'))); ?>


</dd>


<?php endif; ?>


<?php if ($params->get('show_author') && !empty($this->item->author )) : ?>


<dd class="createdby">


<?php $author $this->item->created_by_alias $this->item->created_by_alias $this->item->author?>


<?php if (!empty($this->item->contactid) && $params->get('link_author') == true): ?>


<?php


$needle 'index.php?option=com_contact&view=contact&id=' $this->item->contactid;


$menu JFactory::getApplication()->getMenu();


$item $menu->getItems('link'$needletrue);


$cntlink = !empty($item) ? $needle '&Itemid=' $item->id $needle;


?>



<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY'JHtml::_('link'JRoute::_($cntlink), $author)); ?>


<?php else: ?>


<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY'$author); ?>


<?php endif; ?>


</dd>


<?php endif; ?>


<?php if ($params->get('show_hits')) : ?>


<dd class="hits">


<?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS'$this->item->hits); ?>


</dd>


<?php endif; ?>


<?php if ($useDefList) : ?>


</dl>


<?php endif; ?>






<?php if (isset ($this->item->toc)) : ?>


<?php echo $this->item->toc?>


<?php endif; ?>






<?php if (isset($urls) AND ((!empty($urls->urls_position) AND ($urls->urls_position=='0')) OR  ($params->get('urls_position')=='0' AND empty($urls->urls_position) ))


OR (empty($urls->urls_position) AND (!$params->get('urls_position')))): ?>



<?php echo $this->loadTemplate('links'); ?>


<?php endif; ?>






<?php if ($params->get('access-view')):?>


<?php  if (isset($images->image_fulltext) and !empty($images->image_fulltext)) : ?>


<?php $imgfloat = (empty($images->float_fulltext)) ? $params->get('float_fulltext') : $images->float_fulltext?>


<div class="img-fulltext-<?php echo htmlspecialchars($imgfloat); ?>">


<img


<?php if ($images->image_fulltext_caption):


echo 'class="caption"'.' title="' .htmlspecialchars($images->image_fulltext_caption) .'"';


endif; ?>



src="<?php echo htmlspecialchars($images->image_fulltext); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt); ?>"/>


<>


<?php endif; ?>


<?php


if (!empty($this->item->pagination) AND $this->item->pagination AND !$this->item->paginationposition AND !$this->item->paginationrelative):


echo $this->item->pagination;


 endif;


?>



<?php echo $this->item->text?>


<?php


if (!empty($this->item->pagination) AND $this->item->pagination AND $this->item->paginationposition AND!$this->item->paginationrelative):


 echo $this->item->pagination;?>



<?php endif; ?>






<?php if (isset($urls) AND ((!empty($urls->urls_position)  AND ($urls->urls_position=='1')) OR ( $params->get('urls_position')=='1') )): ?>


<?php echo $this->loadTemplate('links'); ?>


<?php endif; ?>


<?php //optional teaser intro text for guests ?>


<?php elseif ($params->get('show_noauth') == true and  $user->get('guest') ) : ?>


<?php echo $this->item->introtext?>


<?php //Optional link to let them register to see the whole article. ?>


<?php if ($params->get('show_readmore') && $this->item->fulltext != null) :


$link1 JRoute::_('index.php?option=com_users&view=login');


$link = new JURI($link1);?>



<p class="readmore">


<a href="<?php echo $link?>">


<?php $attribs json_decode($this->item->attribs);  ?>


<?php


if ($attribs->alternative_readmore == null) :


echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');


elseif ($readmore $this->item->alternative_readmore) :


echo $readmore;


if ($params->get('show_readmore_title'0) != 0) :


    echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));


endif;


elseif ($params->get('show_readmore_title'0) == 0) :


echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');


else :


echo JText::_('COM_CONTENT_READ_MORE');


echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));


endif; ?>
</a>


</p>


<?php endif; ?>


<?php endif; ?>


<?php


if (!empty($this->item->pagination) AND $this->item->pagination AND $this->item->paginationposition AND $this->item->paginationrelative):


 echo $this->item->pagination;?>



<?php endif; ?>






<?php echo $this->item->event->afterDisplayContent?>


<>



Offline Francesco_shywave

  • Nuovo arrivato
  • *
  • Post: 41
    • Mostra profilo
Ciao a tutti, non volevo inziare un nuovo topic come d altronde consigliato, perchè volevo solo fare una domanda veloce veloce...
sono riuscito a sostituire gli h2 in h1 cambiando il contenuto del file default.php che si trova in components/com_content/views/article/tmpl...una volta modificato lo lascio nella cartella dove si trova oppure lo devo copiare in templates/mio_template/html/com_content/article/ come suggerito in questa guida:[/size]http://www.joomla.it/articoli-della-community/902-migliorare-il-posizionamento-di-joomla-con-loverride-i-titoli-h1.html[/color]
[/size]Io utilizzo joomla 3.3.[/color]

[/size]Grazie.[/color]

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
devi seguire il consiglio della guida: se lo lasci li verrà sovrascritto al primo aggiornamento con la conseguenza che perderai le modifiche effettuate ;)

 



Web Design Bolzano Kreatif