Avatar billede Chewie Novice
25. januar 2007 - 09:41 Der er 8 kommentarer og
1 løsning

søgemaskinevenligt sitemap

Hej PHP´er

Jeg bruger nedenstående kode til at lave et sitemap på min html hjemmeside - problemet med det sitemap script er at det ikke er særligt søgemaskine venligt, da der kommer alt for mange links

Er det muligt at lave noget i koden som deler sitemappen op i sider med eks 30 links per side ?

-----------------------------------------
    define( "PAD", 10 ); // Pixels to indent each new level
    define( "FILES", "php,htm,html" ); // What file extensions to show
    // List of directories NOT to show in map
    $dontShow = array( "show_this/but_not_this", "secret", "admin" );

    // Do not change this
    $prepared = false;

    function dirTree( $path, $level = 0 )
    {
        global $dontShow, $prepared;
        $path .= ( substr( $path, -1 ) == '/' ? '' : '/' );
        if ( !$prepared )
        {
            $prepared = true;
            $n = count( $dontShow );
            for ( $i = 0; $i < $n; $i++ )
            {
                $dontShow[$i] = $path . $dontShow[$i];
            }
        }
        $dirs = glob( $path . "*", GLOB_ONLYDIR | GLOB_NOSORT );
        natsort( $dirs );
        foreach ( $dirs as $dir )
        {
            if ( !in_array( $dir, $dontShow ) )
            {
                echo str_repeat( "\t", $level ) . "<div style=\"margin-left: " .
                    $level * PAD . "px; font-weight: bold\">" .
                    basename( $dir ) . "</div>\n";
                dirTree( $dir, $level + 1 );
            }
        }

        $tmp = glob( $path . "*.{" . FILES . "}", GLOB_NOSORT | GLOB_BRACE );
        $files = array();
        foreach ( $tmp as $file )
        {
            if ( !is_dir( $file ) )
            {
                $files[] = $file;
            }
        }
        natsort( $files );
        foreach ( $files as $fil )
        {
            $fname = preg_replace( "/(\w+)\.\w+$/", "\\1", basename( $fil ) );
            echo str_repeat( "\t", $level ) . "<div style=\"margin-left: " .
                $level * PAD . "px\"><a href=\"$fil\">$fname</a></div>\n";
        }
    }

    dirTree( "." );

-----------------------------------------
credit til coderdk (ham der her lavet det!)

/s
Avatar billede windcape Praktikant
25. januar 2007 - 09:44 #1
Umidbart nej. Problemet er jo også at din kode nester dine mapper, så hvis du stoppede ved 30, skulle du jo starte nestet på næste side, hvilket vil være elendigt for en eventuelt bruger :-)

Så du skal nok overveje et total redesign.
Avatar billede Chewie Novice
25. januar 2007 - 09:50 #2
af 13.000 sider ? nej tak :)

Det må da være muligt at lave noget smart - evt. med en pager ala. << preview 1 2 3 4 5 next >>
Avatar billede windcape Praktikant
25. januar 2007 - 09:52 #3
Hvis du har 13000 sider bestående af statiske filer, så har du nok godt nok lavet en bummer af dimensioner.

Og du kan godt lave en pager, bare ikke med den kode du postede. Derudover lod du ikke til at have læst min første post ordenlig, mht. at mapperne jo er nestede.
Avatar billede Chewie Novice
25. januar 2007 - 10:19 #4
Ja det kan du godt kalde det :)

nu er jeg ikke den store kode haj - så jeg ved ikke hved du mener med nestede, men har du et foreslag til hvilken kode jeg så skal bruge ?
Avatar billede windcape Praktikant
25. januar 2007 - 10:21 #5
nej, fordi du skal bruge et helt nyt script. Du må se om en anden kommer fordi og gider skrive et til dig :-) Jeg hjælper kun.
Avatar billede bobslaede Nybegynder
26. januar 2007 - 14:18 #6
tjek googles sitemap
Avatar billede Chewie Novice
26. januar 2007 - 14:21 #7
det skal ikke være et xml sitemap :)
Avatar billede bobslaede Nybegynder
26. januar 2007 - 15:46 #8
Det er ellers ret søgemaskine venligt ;)
Avatar billede Chewie Novice
30. marts 2007 - 21:13 #9
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester