- Home
- Categorie
- Coding e Sistemistica
- Coding
- Inserire metatags
-
Inserire metatags
salve chi può aiutarmi...,
sto cercando di realizzare un semplice sito in php e css senza utilizzare cms, ma non riesco a gestire i meta + title diversi per ogni pagina... al momento le pagine visualizzano sempre quello che trovano nell'header dell'index... è possibile scrivere del semplice codice che lo va a prelevare in un files esterno?
Grazie
-
Ciao patrix e benvenuto nel Forum GT!
Puoi farlo magari associando ai tuoi file php un database (tipo mysql) che raccolga le varie keywords.
-
grazie per la pronta risposta...:-) ...questo è il problema... vorrei evitare di usare mysql e cms in generale... in realtà ho bisogno di utilizzare un template a 3 colonne (float o fisse è lo stesso), e vorrei che per ogni pagina il title, e i meta in generale andassero a prendere dati da files tipo meta.php e title.php esempio nel title.php una serie di title (titlegames. titleprog, titlephoto, ecc...), per ogni tipo di pagina come ad esempio avviene per i caratteri impostati con i style.css... non so se è chiaro... puoi aiutarmi....
-
Anche se potrebbe diventare fastidioso,potresti inserire una riga in php per ogni pagina che fai specificando il titolo e poi con quello si creano i metatag.
Una cosa come questa
<?php
$titolo = "Starwars"; ?>per quanto riguarda in metatag,utilizzando quella variabile
<meta name="keywords" content="<?php echo "$titolo.games"; echo "$titolo.prog"; ?> />
Adesso non so se è giusto sintatticamente in quanto l'ho buttato giu adesso.
In ogni caso dovrebbe essere una cosa del genere per non utilizzare nessun mysql ma
una semplice variabile.
-
... grazie ma forse mi sono espresso male... io ho la homepage composta da index.php, header.php e footer.php e home.php che è quella che cambia per ogni pagina...... ovviamente nell'header che è uguale a tutte le pagine ho inserito:
<title><? echo $cf[9];?></title>
<meta name="description" content="<? echo $cf[16];?>">
<meta name="keywords" content="<? echo $cf[17];?>">che vanno a puntare su un files nell'admin il quale va a leggere da un file tipo config.php... fino a qui tutto funziona, il problema è come far variare le descrizioni al variare delle pagine se l'header è sempre lo stesso? calcola che ad ogni numero tra parentesi corisponde una riga di files di testo con descrizione diversa (tieni presente che ho solo preso e modificato pezzi da 2 diversi cms non mysql per fare questo sito)... ma nessun cms mi dava la possibilità di variare quello di cui sopra... hai qualche idea?
-
Visto come si è sviluppata questa discussione direi che è meglio spostarla nella sezione PHP-MySQL.
-
qualcun altro ha voglia di aiutarmi???:?
-
Ciao
prova cosi
header.php
[PHP] <title><? echo $cf[$numero_titolo];?></title>
<meta name="description" content="<? echo $cf[$numero_descrizione];?>">
<meta name="keywords" content="<? echo $cf[$numero_keyword];?>">
[/PHP]
index.php
[PHP]
$numero_titolo=9;
$numero_descrizione=16;
$numero_keyword=17;
include ('header.php);
resto della pagina
include('footer.php');
[/PHP]
-
...ho provato funziona a metà, cioè le pagine rimangono sempre con lo stesso title, description e keyword come la homepage...
Inoltre ho riscontrato un altro problema, se nell'index.php è dichiarata ogni pagina es:include "funzioni-admin.php";
$numero_titolo=9;
$numero_descrizione=16;
$numero_keyword=17;
include "template/header.php";
include "moduli/headerhome.php";
if((!$act) || ($act=="")){
echo "<form name=dathang action="redirect-admin.php" method=POST>
<input type=hidden name=act value=addcart>
<input type=hidden name=totals value=0>
<p align=left>
";
$file=file("$itemsdb");show_array($file,'');
include "template/home.php";
include "partner/sitiamici.php";
echo "</form>";
}
if($act=="categoria"){
include "moduli/categoria.php";
}
if($act=="articolo" && $id){
include "moduli/articolo.php";
}
if($act=="privacy"){
include "moduli/privacy.php";
}
include "template/footer.php";
?>...allora le visualizza, altrimenti le pagine non dichiarate non le inserisce in homepage...
ho provato questo script trovato su un tutorial che le include, ma non riesco ad integrarlo:<? include("header.php");
include("menu.php");
$p="main"; //pagina di default per i contenuti centrali
if(isset($_GET['page'])){ //pagina passata via parametro
$p=$GET['page'];
if($p!=basename($p) || !preg_match("/^[A-Za-z0-9-]+$/",$p) || $p=="index" || !file_exists($p.".php"))
$p="error"; //pagina di errore
}
include($p.".php");
include("footer.php"); ?>
-
...ho provato funziona a metà, cioè le pagine rimangono sempre con lo stesso title, description e keyword come la homepage...
Si rimangono con gli stessi dati basta ma che tu cambi il numero della tre variabili con i numeri di altri titoli e descrizioni
e i dati cambiano;)
es$cf[1]=un titolo
$cf[2]=un altro titolo.<title><? echo $cf[$numero_titolo];?></title>
se il numero di
$numero_titolo=1 compare cosi<title>un titolo</title>
se invece $numero_titolo=2 e cosi
<title>un altro titolo</title>
noltre ho riscontrato un altro problema, se nell'index.php è dichiarata ogni pagina es:
devi includere sempre i file esterni che vuoi usare per evitarli di includerli 2 volte puoi usare include_once().se ho capito bene quello script puo passare solo una pagina e comunque te lo sconsiglio e meglio dichiararli in ogni pagina cosi il codice e piu pulito e leggibile
-
forse non ci arrivo....:x
la pagina è creata da index.php, (che è unico per tutte le pagine), che a sua volta richiama header.php e footer.php che sono a loro volta fissi per ogni pagina. La pagina home o content, che pouo essere nome.php ecc... è creata all'interno del footer.php. Quindi se i tag con i valori sono nell'header, come fa quest'ultimo ad associare un valore diverso per pagine diverse?
-
@patrix said:
forse non ci arrivo....:x
la pagina è creata da index.php, (che è unico per tutte le pagine), che a sua volta richiama header.php e footer.php che sono a loro volta fissi per ogni pagina. La pagina home o content, che pouo essere nome.php ecc... è creata all'interno del footer.php. Quindi se i tag con i valori sono nell'header, come fa quest'ultimo ad associare un valore diverso per pagine diverse?posta la struttura della pagina
-
il Forum non mi concede ancora la possibilità di inserire link, posso inviarteli per e-mail? se si dove?
grazie
-
ti ho inviato un pvt se risolvo posto sul forum la soluzione
-
header.php
[php]
<meta name="description" content="<? echo $descrizione;?>">
<meta name="keywords" content="<? echo $keyword;?>">
[/php]pagina corrente:
[php]//Dichiaro le variabili del header
$descrizione = 'Descrizione della pagina';
$keyword = 'Keyword della pagina';
echo '
<html>
<head>';
include('header.php';
echo '</head>
<body></body>
</html>';
// Altre operazioni
[/php]spero di essere stato abbastanza chiaro con un esempio pratico