De titel zegt het al. Hoe ziet google een dynamische titel. Ik zou dit graag zeker weten. Ik heb namelijk een tabel met de volgende informatie:
CREATE TABLE IF NOT EXISTS `titel` (
`id` int(11) NOT NULL,
`beschrijving` text NOT NULL,
`keywords` text NOT NULL,
`titel` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Daarbij haal ik het id op van mijn pagina's en zet deze in $id en zeg dan als het $id een waarde heeft de volgende informatie moet worden opgehaald.
<?php
$id = (isset($_REQUEST["id"]))?$_REQUEST["id"]:"";
Als $id == "id van pagina"
if($id == "H000")
{
$query = "SELECT * FROM titel WHERE id ='1'";
$result = mysql_query($query) or die ("query mislukt");
$rows = mysql_fetch_array($result);
$title=$rows['titel'];
$keywords=$rows['keywords'];
$beschrijving = $rows['beschrijving'];
}
?>
etc. Nu vraag ik mij toch nog af hoe ziet google mijn titel als ik zeg:
Het geval is dat ik voor een bedrijfje de titel van hun pagina moet gaan veranderen.
Ze hebben een index.php met een static titel die niet veranderd, maar de content is dynamic.
Dit willen ze veranderen.
Dus ik dacht als ik nou het id uit de url haal en aan dat id een sql-statement koppel.
En ik maak dus een document met:
if($id == "H000")
elseif($id == "P000")
elseif($id == "P002")
etc etc.
en dan met een echo de resultaten van de sql-statement aanroep voor description keywords en title tags.
CREATE TABLE pages (
id INT UNSIGNED AUTO_INCREMENT,
title VARCHAR (255)
) ENGINE=InnoDB;
CREATE TABLE keywords (
id INT UNSIGNED AUTO_INCREMENT,
pageid UNSIGNED INT,
keyword VARCHAR (100)
) ENGINE=InnoDB;
ALTER TABLE keywords ADD CONSTRAINT fk_keywords_pages FOREIGN KEY pageid REFERENCES pages (id) ON UPDATE CASCADE ON DELETE CASCADE;
Je hebt dan per pagina slechts één titel en per pagina tig aan keywords. Daarnaast geldt veranderd je URL wel wanneer je naar een pagina gaat met een andere ID (id=1, id=2...) Dus dan is het niet zozeer een verandering van de van de titel ten opzichte van de pagina, omdat google dat als twee pagina's ziet.
@hans
Je bedoelt dat alles via de index.php loopt, maar dat je afhankelijk van de opgevraagde URL de titel mee laat veranderen met de content van de pagina?
Bijvoorbeeld:
Contact - Bedrijfsnaam -> Dit staat in de titel als je op de contactpagina zit (index.php?pagina=contact, of met mod-rewrite: /contact.html)
Nieuws - Bedrijfsnaam -> Dit staat in de titel als je de nieuwspagina op hebt gevraagd (index.php?pagina=nieuws, of met mod-rewrite: /nieuws.html)
Als dit is wat je bedoeld dan kan ik je melden dat Google dit als 2 losse pagina's ziet. Dus dat is geen probleem met wisselende titels in dit geval.
en idd alles loopt via de index.php
sorry als ik daar niet geheel duidelijk in was.
Ze hebben een database met alle informatie daarin.
Via de database word ook de site menu gebouwd etc.
Hier een voorbeeld van de url na op een link in de menu te hebben geklikt. http://techid.com/site/index.php?m=IDS8000_M50&id=P000
Ik test op de localhost en heb dus een pagina titel.php gemaakt met de check.
Ik kan het op twee manier doen hier staan ze beide in:
if($id == "H000")
{
$query = "SELECT * FROM titel WHERE id ='1'";
$result = mysql_query($query) or die ("query mislukt");
$rows = mysql_fetch_array($result);
$title = $rows['titel'];
$keywords = $rows['keywords'];
$beschrijving = $rows['beschrijving'];
}
elseif($id == "P000")
{
$query = "SELECT * FROM titel WHERE id ='1'";
$result = mysql_query($query) or die ("query mislukt");
$rows = mysql_fetch_array($result);
$title = $rows['titel'];
$keywords = $rows['keywords'];
$beschrijving = $rows['beschrijving'];
}
elseif($id == "P004")
{
$title = "TechID Engineering BV - Missie van TechID.";
$keywords = "Techid missie";
$beschrijving = "Pagina die gaat over de missie van TechID";
}
else
{
$title = "echo TechID Engineering BV - Levert u een scala aan producten en diensten op het gebied van beveiliging."; //De standaard waarde voor alle pagina's die nog geen eigen titel hebben
$keywords = "toegangscontrole, bezoekersregistratie, pasproductie, tijdregistratie, betaalsystemen, pasaccessoires"; //De standaard waarde voor alle pagina's die nog geen eigen keywords hebben
$beschrijving = "toegangscontrole, bezoekersregistratie, pasproductie, tijdregistratie, betaalsystemen, pasaccessoires"; //De standaard waarde voro alle pagina's die nog geen eigen beschrijving hebben
}
?>
Ze hebben het liefst dat de informatie uit de database word gehaald dus zijn de 1e twee van toepassing.
Even heel simpel. Dan komt er natuurlijk een include in de index.php en een echo in de meta name description, keywords en title tags
Zo gebeurt het.
Als dit dus inderdaad niks uitmaakt zal ik ze deze variant aanbevelen.
Tenzij er nog andere suggesties zijn die beter en zoekmachine vriendelijker zijn.
Zoals ik in mijn post al aangaf, misschien niet heel duidelijk:
Google ziet index.php en index.php?bla=bladibla en index.php?bla=blablabla als 3 verschillende pagina's. Je kan dus gewoon een wisselende titel gebruiken, dit is zelfs alleen maar voordelig.
Het is vrij simpel, als je een variabele aanmaakt of een echo geeft voordat de html gestart wordt door de tag <html> al output. Dus op het moment dat de robots van google je site scant, is de titel al geschreven en dus valt het in de HTML. Dus ja, hij ziet tekst (of html)...