Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dodanie strony do wyszukiwarek, a nawigacja dynamiczna AJAX

Ostatnio zmodyfikowano 2014-09-19 14:14
Autor Wiadomość
Haker123
Temat założony przez niniejszego użytkownika
Dodanie strony do wyszukiwarek, a nawigacja dynamiczna AJAX
» 2014-09-14 21:51:18
Witam.
Dzis pierwszy raz wgralem strone na server i mam pare pytan.

1. Dodalem strone do google ale widac ja tylko po wpisaniu calego adresu. Meta z pliku index.php wyglada tak:

<meta name="keywords" content="adrian,rojek,HTML,CSS,PHP,CPP,C++,ALLEGRO,QT,OpenGL,UNITY">
Nawet jak wpisze wszystkie hasla to strony nie widac.

2. Opis na google jest calkiem inny niz powinien byc. Zamiast

<meta name="description" content="Blog z programami mojego autorstwa.">
sa wypisane nazwy stron jakie mam w menu.

3. Nieraz jak sie cos szuka w wyszukiwarce to nie otwiera sie strona glowna tylko jakas podstrona, ktora ma swoj opis , hasla , i tytul. Na jakiej zasadzie to dziala??
Moje wszystkie strony otwieraja sie w div na stronie glownej i nie wiem czy moja strona bedzie na takiej zasadzie dzialac.

4. W narzędziach dla webmasterów w googlach sa "Dane strukturalne" "Marker danych" pisze ze nie ma zadnych danych strukturalnych i makr. Niezabardzo rozumiem o co chodzi.

Moj index.php oraz przykladowa strona wygladaja tak.

index.php

<!DOCTYPE html>

<?php include 'config.php' ; ?>

<html>

<head>

<title>Programowanie w CPP</title>

<!-- kodowanie znaków - utf8, dzięki czemu możemy wyświetlić, np. polskie znaki -->
<meta charset="utf-8">
<!-- OPIS STRONY -->
<meta name="description" content="Blog z programami mojego autorstwa.">
<!-- HASLA DLA WYSZUKIWARKI -->
<meta name="keywords" content="adrian,rojek,HTML,CSS,PHP,CPP,C++,ALLEGRO,QT,OpenGL,UNITY">
<!-- AUTOR STRONY -->
<meta name="author" content="Adrian Rojek">

<!-- HEADER -->
<link href="css/js-image-slider.css" rel="stylesheet" type="text/css" />
<script src="js/js-image-slider.js" type="text/javascript"></script>
<link href="css/generic.css" rel="stylesheet" type="text/css" />
<!-- -->


<link rel="stylesheet" href="css/style.css" type="text/css" />


<script type="text/javascript">


<!-- FUNKCJA DO LADOWANIA STRONY GLOWNEJ PO ODPALENIU STRONY -->
function Home()
{
$( "#content" ).load( "home.php" );
populateSlider() ;
}


<!-- FUNKCJE DLA HEADER -->
function populateSlider()
{
            //Note: If the slider container has been set as invisible(e.g. display:none;), make sure set it visible before reload the imageSlider
setSliderMarkup();
imageSlider.reload();
}

function setSliderMarkup()
{
var sliderFrame = document.getElementById("sliderFrame");
sliderFrame.innerHTML = '<div id="slider"><img src="Slider/image-slider-1.png" alt="#slider1" />' +
'<img src="Slider/image-slider-2.png" alt="#slider2" /><img src="Slider/image-slider-3.png" alt="#slider3" />' +
'<img src="Slider/image-slider-4.png" alt="#slider4" /></div>';
}


</script>


<!-- SKRYPT DO URUCHAMIANIA STRON PHP W DIV -->
<script src=" http://code.jquery.com/jquery.min.js " type="text/javascript"> </script>

</head>

<body onload="Home();">

<div id="page">
<br />
<header id="header">

<div id="sliderFrame"></div>

<div id="slider1" style="display: none;">
<a href="#" onclick='$( "#content" ).load( "cpp/Snake/snake.php?ID=7" );' >SNAKE. Gra na krótkie wolne chwile.</a>
</div>

<div id="slider2" style="display: none;">
<a href="#" onclick='$( "#content" ).load( "php/Strona/strona.php?ID=3" );' >Opis strony na której jesteś.</a>
</div>

<div id="slider3" style="display: none;">
<a href="#" onclick='$( "#content" ).load( "cpp/MIX/MIX.php?ID=9" );' >MIX. Kółko i krzyżyk dla dwóch i labirynt.</a>
</div>

<div id="slider4" style="display: none;">
<a href="#" onclick='$( "#content" ).load( "php/BazaFilmow/film.php?ID=2" );' >Baza filmów z aplikacją do jej obsługi.</a>
</div>

</header> <!-- end title -->

<nav id="menu"> <!-- <h3> MENU </h3> -->

<ul>
<li><a href="#" onclick='$( "#content" ).load( "home.php" );' >Strona GŁówna</a></li>
<li><a href="#" onclick='$( "#content" ).load( "cpp.php" );' >CPP</a></li>
<li><a href="#" onclick='$( "#content" ).load( "php.php" );' >PHP / MYSQL / HTML</a></li>
<li><a href="#" onclick='$( "#content" ).load( "contactform.php" );' >Kontakt</a></li>
<li><a href="#" onclick='$( "#content" ).load( "about.php" );' >O Blogu</a></li>
</ul>

<div id="visit">
<?php wypisz_visit() ; ?>
</div>
<br /> <br />


<?php

if( $_SESSION['logged'] )
{
?>
<button type="button" onclick="javascript:window.location.href='logout.php'; "> WYLOGUJ </button>
<?php
}
?>

</nav> <!-- end menu -->


<div id="content">
</div> <!-- end content -->

</div> <!-- end page -->

</body>

</html>

home.php

<!DOCTYPE html>

<?php
include 'config.php' ;
header('Content-Type: text/plain');
?>

<html>

<head>

<title>HOME</title>

<!-- kodowanie znaków - utf8, dzięki czemu możemy wyświetlić, np. polskie znaki -->
<meta charset="utf-8">

<link rel="stylesheet" href="css/style.css" type="text/css" />

<script type="text/javascript">


//OTWIERANIE FORM W DIV
$('#formm').submit(function() { // catch the form's submit event
$.ajax({ // create an AJAX call...
data: $(this).serialize(), // get the form data
type: $(this).attr('method'), // GET or POST
url: $(this).attr('action'), // the file to call
success: function(response) { // on success..
$('#content').html(response); // update the DIV
}
});
return false; // cancel original event to prevent form submitting
});

</script>

</head>

<body>

<?php

db_connect() ;

//ZLICZAMY ILE JEST WPISOW
$zapytanie ="SELECT * FROM `wpisy` " ;
if( !$row = $db->query( $zapytanie ) )
{
printf("Połączenie nie udane ");
exit;
}
$post_on_page = 4 ;

//CELI ZAOKRAGLA W GORE
$all_pages = ceil( $row->num_rows / $post_on_page ) ;
$nav_num = 5 ;

//echo "<p>".$all_pages."</p>" ;

//$row->free() ;

if ( !isset( $_GET['page'] ) || $_GET['page'] > $all_pages || !is_numeric( $_GET['page'] ) || $_GET['page'] <= 0 )
{
$page = 1 ;
}
else
{
$page = $_GET['page'] ;
}

//echo "<p>".$page."</p>" ;

$start_from = ( $page - 1 ) * $post_on_page ;

//POBIERAMY WPISY (LIMIT OD START_FROM ILOSC POST_ON_PAGE)
$zapytanie = "SELECT * FROM wpisy ORDER BY date DESC LIMIT $start_from , $post_on_page" ;
$result = $db->query( $zapytanie ) ;
if( $result->num_rows > 0 )
{
while( $row = $result->fetch_assoc() )
{
?>
<div id="wpis">

<h1> <a href="#" onclick='$("#content").load("wpis.php?ID=<?php echo $row['ID_wpis'] ?>"); '> <?php echo $row['title'] ?> </a> </h1>
<time id="date"> <?php echo $row['date'] ?> </time>

<p id="text">
<?php

//STRLEN SPRAWDZA DLUGOSC TEXTU A UTF8_DECODE ZMIENIA UTF8 NA ISO-8859-1 ZEBY NIE BYLO PROBLEMU Z LICZENIEM
//(2x POLICZENIE TEGO SAMEGO ZNAKU ITP.)
if( strlen( utf8_decode( $row['text'] ) ) > 300 )
{
//SKRACAMY TEXT DO 200 I DODAJEMY DODATKOWY LINK DO CALEGO WPISU
echo mb_substr( $row['text'] , 0 , 200 , 'UTF-8' )."  " ;
?>
<a href="#" onclick='$("#content").load("wpis.php?ID=<?php echo $row['ID_wpis'] ?>"); '> ROZWIŃ </a>
<?php
//echo "<a href=\"#\" onclick='$(\"#content\").load(\"wpis.php?ID=".$row['ID'].");'> ROZWIŃ </a> " ;
}
else
{
echo $row['text'] ;
}
?>
</p> <!-- TEXT -->
</div> <!-- WPIS -->

<?php
} //WHILE

echo "<br /> <br />" ;

$result->free() ;
//MENU NA DOLE
//JESLI ILOSC WYPISANYCH CYFER JEST WIEKSZA OD WSZYSTKICH STRON
if ( $nav_num > $all_pages ) { $nav_num = $all_pages ; }

//WYLICZENIE JAKIE STRONY POKAZAC NA DOLE
//FLOOR ZAOKRAGLA W DOL
$for_start = $page - floor( $nav_num / 2 ) ;
$for_end   = $for_start + $nav_num ;

if ( $for_start <= 0 ) { $for_start = 1 ; }

$over_end = $all_pages - $for_end ;
//SPRAWDZAMY CZY CZASEM NIE CHCEMY WYPISAC WIECEJ CYFER NIZ JEST STRON
if( $over_end < 0 ) { $for_start = $for_start + $over_end + 1 ; }

//PRZYPISUJEMY JESZCZE RAZ (FOR_START MOGL ULEC ZMIANIE)
$for_end = $for_start + $nav_num ;

$prev = $page - 1 ;
$next = $page + 1 ;

?>

<div id="nav">
<ul>

<?php

{

//WYPISUJEMY POCZATEK MENU
if( $page > 1 ) { echo "<li> <a href=\"#\" onclick='$(\"#content\").load(\"home.php?page=".$prev."\");'> <<< </a> </li>" ; }
if( $for_start > 1 ) { echo "<li> <a href=\"#\" onclick='$(\"#content\").load(\"home.php?page=1\");'> 1 </a> </li>" ; }
if( $for_start > 2 ) { echo "<li> ... </li>" ; }

//WYPISUJEMY STRONY
for ( $for_start ; $for_start < $for_end ; $for_start++ )
{
if ( $for_start == $page ) { echo "<li class=\"current\">".$for_start."</li>" ; }
else { echo "<li> <a href=\"#\" onclick='$(\"#content\").load(\"home.php?page=".$for_start."\");'>".$for_start." </a> </li>" ; }
}

//WYPISUJEMY KONCOWE OZNACZENIA MENU
if( $for_end < $all_pages ) { echo "<li> ... </li>" ; }
if( $for_end - 1 < $all_pages ) { echo "<li> <a href=\"#\" onclick='$(\"#content\").load(\"home.php?page=".$all_pages."\");'>".$all_pages."</a> </li>" ; }
if( $page < $all_pages ) { echo "<li> <a href=\"#\" onclick='$(\"#content\").load(\"home.php?page=".$next."\");'> >>> </a> </li>" ; }

}

?>
</ul>
</div> <!-- NAV -->

<?php
} //if( $db->num_rows( $zapytanie ) > 0 ) ;
else
{
echo "<br /><br /><br />
  BRAK WPISOW" ;
}


//isset($_SESSION['logged']) && $_SESSION['ID'] != -1
if( $_SESSION['logged'] )
{
?>
<br /><br /><br />
<div id="form">

<form id="formm" action="add_wpis.php" method="post">

<label for="form_tytul">TYTUŁ</label> <br />
<input id="form_tytul" name="form_tytul" type="text"> <br /><br />
<label for="form_tresc">TREŚĆ WPISU</label> <br />
<textarea id="form_tresc" name="form_tresc" rows="15" cols="80"> </textarea> <br /> <br />
<input type="submit" value="WYŚLIJ">

</form>

</div>

<br /> <br />

<?php
}
db_close() ;
?>


</body>

</html>
Kazda podstrona wyglada skladniowo identycznie (<html><head><body>...), nie wiem czy tak powinno sie robic podstrony ale pod localhost dziala poprawnie.

Jesli pisze niezrozumiale to przepraszam ale caly dzien bawie sie kodem i jestem padniety ;]
P-117008
malan
» 2014-09-14 22:54:20
Czemu zrobiłeś ładowanie podstron przez JS? W ten sposób zrobiona strona nie ma szans zostać zindeksowana przez robota Google. Poza tym dla robota Google słowa kluczowe wpisane w tagu meta nie są już tak ważne jak kiedyś. Zmień kurs, wyjdzie Ci to na dobre ;)
P-117012
Haker123
Temat założony przez niniejszego użytkownika
» 2014-09-15 12:11:32
Problem w tym ze nie kozystam z zadnego kursu, jade z tego co pamietam + www.w3schools.com .
Ladowanie stron przez JS jest specjalnie bo nie chce przeladowywac calej strony tylko jej kawalek.
Masz moze jakis dobry kurs pod reka?? Jak wpisuje Kurs Html5 to wyskakuje mi specyfikacj lub jakie zostaly wprowadzone zmiany.
P-117026
DejaVu
» 2014-09-15 16:29:07
Strony nie mogą być ładowane ajaxem jeżeli chcesz mieć indeksowaną treść. Strona zostanie tak zindeksowana jaki jest oryginalny zwrócony kod źródłowy HTML-a bez ingerencji Javascripta.
P-117039
Haker123
Temat założony przez niniejszego użytkownika
» 2014-09-15 23:46:36
Chcialem zeby strona ladowala tylko to co trzeba do <div> a nie zeby przeladowywala cala strone(strasznie mnie to denerwuje). Dlatego kozystam java.

Czy pisanie stron ktore nie przeladowywuja calej swojej zawartosci tylko jej kawalek jest niezalecane / nieprofesjonalne?? Pytam tak ogolnie.
P-117060
DejaVu
» 2014-09-16 09:14:55
Ta strona domyślnie nie wykorzystuje Ajaxa. Uważasz ją za nieprofesjonalną? :) Można przełączyć ją na tryb ajaxowy (po prawej stronie pod panelem logowania), jednak nie zmienia to faktu, że istnieją adresy URL, które zwracają zawartość strony bez ingerencji Javascripta. Generalnie rzecz biorąc najpierw powinieneś zrozumieć ideę Ajaxa oraz to jak funkcjonuje Internet oraz roboty. Później dopiero możesz sobie kombinować jak osiągnąć swój cel tj. dynamicznie przeładowywać strony, zachowując jednocześnie możliwość indeksowania treści przez roboty indeksujące treści.
P-117063
Haker123
Temat założony przez niniejszego użytkownika
» 2014-09-16 15:23:18
Nie. Strona napewno jest zrobiona profesjonalnie. Obecnie to najbardziej chce zrobic strone tylko poto zeby umieszczac tam swoje programy zrobione w CPP. Nie widze swojej przyszlosci w HTML/CSS/JAVA bo nie oferuja mi tego co chce robic w przyszlosci. Pewnie lizne podstawy java ale to za jakis czas (jak skoncze sie bawic allegro ;])

Dlatego jesli nie bedziesz zly to cie troche pomecze.
Czy taki zapis
<a href="about.php" onclick='$( "#content" ).load( "about.php" ); return false ' >
Bedzie dla robota dobrze widoczny (nieprzeladowywuje mi strony a jest wypelniony href)?? I jak wgrac strone do div bez uzywania onload w body??

PS. Moja strona to http://adrian-rojek.cba.pl/
P-117069
DejaVu
» 2014-09-16 22:41:47
Polecam Ci użyć gotowego frameworka np. wordpressa. Robienie własnej strony tylko po to, aby zamieszczać coś w Internecie mija się z celem. No chyba, że robisz stronę też po to, aby się czegoś nowego nauczyć, to wtedy jak najbardziej warto poświęcać na to czas :)
P-117092
« 1 » 2 3
  Strona 1 z 3 Następna strona