PFZ.nl - PHP Community: Kan google iets met een form/javascript! - SEO - Forum - PFZ.nl - PHP Community

Je kunt niet antwoorden op dit topic
#1 02-01-2012 13:34
  • P. Idzinga
  • Groep: Forumleden
  • Posts: 98
  • Actief sinds: 25-10-2010
Ik heb het volgende op mijn pagina, maar kan google hier wat mee (of te volgen)?:

1
2
3
4
5
<form method="post" action="http://www.website.nl/overzicht-kleding?page=1" name="myForm">
<input type="hidden" name="filter[]" value="2103"/>
<input type="hidden" name="searched" id="searched" value="searched" />
<a href="javascript:document.myForm.submit()" class="grijs" alt="Overzicht kleding" title="Overzicht kleding">kleding</a>
</form>

#2 02-01-2012 13:52
Google kan sommige forms wel submitten, afhankelijk van wat er ingevuld moet worden.

Wat is je doel; wel indexeren of juist niet?
DELETE FROM world WHERE dbms='mysql';
http://www.yapf.net - http://yapf.blogspot.com/

#3 02-01-2012 14:27
  • P. Idzinga
  • Groep: Forumleden
  • Posts: 98
  • Actief sinds: 25-10-2010
Het moet zo zijn dat Google wel de pagina "http://www.website.nl/overzicht-kleding" indexeert!

#4 02-01-2012 14:35
  • Ivo P.
  • Groep: Verenigingsleden
  • Posts: 2802
  • Actief sinds: 17-01-2002
zou je dan niet gewoon een link (al dan niet een beetje verborgen) opnemen op je site naar die pagina?
Ivo Peters
Developer en systeembeheerder @ PeHa ICT Services. blog.peha-ict.nl

#5 02-01-2012 14:41
Als je wilt dat een pagina geindexeerd wordt dan kan dat het eenvoudist door gewoon een link daar naartoe op te nemen.

Maar als je met dat formulier de inhoud van de pagina gaat veranderen dan kan google ook beslissen dat dat een zoekresultaat-pagina is die niet geindexeerd kan worden omdat hij gewoon niet kan voorspellen wat erop te zien zal zijn.

Om die reden zie je ook bij vrijwel alle webwinkels dat alle categorie- en productpagina's een eigen unieke URL hebben. het formulier leidt de bezoeker alleen naar een resultaatpagina waarvandaan men naar die URL's gelinkt wordt, en op de categoriepagina's staan andere categorie-links. Feitelijk moet je dus gewoon al klikkend vanaf de homepage bij alle categorieen en producten kunnen komen. Dan weet je vrij zeker dat google dat ook zal doen en dat alle pagina's als losse pagina's worden gezien.

(plus: wat google vindt is leuk en aardig maar het gaat om je bezoekers, als die niet kunnen vinden wat ze zoeken verkoop je niets, al sta je op nummer 1 in google's ranking)
DELETE FROM world WHERE dbms='mysql';
http://www.yapf.net - http://yapf.blogspot.com/

#6 02-01-2012 16:08
  • P. Idzinga
  • Groep: Forumleden
  • Posts: 98
  • Actief sinds: 25-10-2010

#7 02-01-2012 17:22
Gebruik normale URLs, of zoals men tegenwoordig zegt: zoekmachine-vriendelijke URL's, die weergeven waar het over gaat:


/kleding
/kleding/broeken
/kleding/schoenen
/kleding/accessoires
/ski/stokken
/ski/maskers
/ski/skis

je moet juist af van de parameters in de URL, niet omdat google dat niet snapt want die snapt het best, maar omdat je als gebruiker niets kunt met "page=1&filter[]=kleding". Als je browst naar "/kleding/sokken/wol/extra_lang" en je wilt kijken welke sokken er nog meer zijn, dan haal je in de url-bar gewoon 'wol/extra_lang" weg en je zit in het sokken overzicht. Dat heet tegenwoordig weer een "choppable" url, ik noem het gewooon een normale URL, of "zinnige url".
DELETE FROM world WHERE dbms='mysql';
http://www.yapf.net - http://yapf.blogspot.com/

#8 03-01-2012 11:12
  • P. Idzinga
  • Groep: Forumleden
  • Posts: 98
  • Actief sinds: 25-10-2010
Dus ipv van: overzicht-kleding?filter%5B%5D=2103&filter%5B%5D=2021&searched=searched

moet het worden kleding/

Dit moet ik dan toch doen in de .htaccess file?

#9 03-01-2012 11:24
Het kan in de .htaccess, maar dat moet je niet willen. Regel het zo dat je htaccess gewoon alle pageviews naar index.php stuurt, en analyseer de URL in PHP, dat is duizend keer makkelijker dan klieren met een berg rewrite-rules in htaccess.
DELETE FROM world WHERE dbms='mysql';
http://www.yapf.net - http://yapf.blogspot.com/

#10 03-01-2012 12:14
  • P. Idzinga
  • Groep: Forumleden
  • Posts: 98
  • Actief sinds: 25-10-2010
Maar kan je dan uitleggen hoe ik het wel moet doen? Moet ik dan de pagina gewoon kleding.php noemen!? en in de redirect de .php erafhalen?

#11 03-01-2012 13:18
Er valt niet zo heel veel uit te leggen. In je rewrite rules doe je iets als

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L]

Dat stuurt al je pageviews naar index.php en zet in $_GET['url'] de url waarop de pagina werd opgevraagd.
Die URL kun je vervolgens naar eigen inzicht verwerken.

Je zou b.v. kunnen zoeken naar slashes en zo een string als '/kleding/winter/trui' opknippen naar kleding, winter en trui zodat je weet dat je in de database onder kleding moet zoeken naar de categorie winter en daarbinnen weer naar 'trui'
DELETE FROM world WHERE dbms='mysql';
http://www.yapf.net - http://yapf.blogspot.com/

#12 04-01-2012 07:46
  • P. Idzinga
  • Groep: Forumleden
  • Posts: 98
  • Actief sinds: 25-10-2010
Ik krijg het eerste al niet voor elkaar. Wat ik ook probeer met GET en/of POST ik krijg geen link naar het overzicht. Wat wel lukt is dit:

1
2
3
4
5
<form method="post" action="http://www.website.nl/overzicht-kleding?page=1" name="myForm">
<input type="hidden" name="filter[]" value="2103"/>
<input type="hidden" name="searched" id="searched" value="searched" />
<a href="javascript:document.myForm.submit()" class="grijs" alt="Overzicht kleding" title="Overzicht kleding">kleding</a>
</form>


En de pagina met overzicht-kleding is dan:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php 
session_start(); 
if(isset($_POST['filter']))
{    
    $_SESSION['filter'] = $_POST['filter'];
    header( 'Location: http://www.website.nl/overzicht-kleding?page=1', true, 303 );
    exit( );
}
    elseif(!isset($_POST['filter']) and isset($_GET['page']))
    {
        if($_GET['page'] == 1)
        {
            if(isset($_POST['searched']))
            {
                unset($_SESSION['filter']);
            }    else
                {
                    $_SESSION['filter'] = $_SESSION['filter'];
                }
        }    else
            {
                $_SESSION['filter'] = $_SESSION['filter'];
            }
    }    else
        {
            unset($_SESSION['filter']);
}
?>


Kan jij vertellen waar ik dan de fout in ga? Ik wil uiteindelijk dat je op de pagina www.website.nl/herenkleding/ uitkomt...

#13 04-01-2012 07:46
  • P. Idzinga
  • Groep: Forumleden
  • Posts: 98
  • Actief sinds: 25-10-2010
Zie bovenstaande

#14 04-01-2012 15:51
  • Martin P
  • Groep: Moderators
  • Posts: 3645
  • Actief sinds: 19-04-2007

Bekijk Post Op 04-01-2012 08:46 schreef P. Idzinga:

Kan jij vertellen waar ik dan de fout in ga? Ik wil uiteindelijk dat je op de pagina www.website.nl/herenkleding/ uitkomt...
Misschien een gek idee, maar waarom niet gewoon een link? Ik mis geloof ik waarom je zo moeilijk wilt doen met formuliertjes :)
1
<a href="/herenkleding/">Herenkleding</a>
Handleidingen zijn er niet voor niets, gebruik ze dus :)
HTML5 ~ CSS ~ PHP ~ MySQL ~ SQL-injectie bestaat meer dan 13 jaar


Inloggen wachtwoord vergeten? Aanmelden