Archiwum

Posts Tagged ‘Google’

Blog sites and search engines

2010-02-03 Komentarze wyłączone

Blog sites and pages indexed by particular search engines:
Google cache is searched by site:domainname. Yahoo is queried via linkdomain:domainname. Yandex is checked by typing search domain in advanced search.

Blogspot (blogger.com) is displayed in Alexa as world’s 7 most popular page, and 8 in USA. WordPress has Alexa rank 19. Livejournal is 82 in Alexa’s global ranking, but it has very high note in Russia: no 11 (most popular blog site in Russia, Ukraine and Belarus).

wordpress.com
google – 223 mln
yahoo – 64 mln
yandex – 280 тис

livejournal.com
google – 70 mln
yahoo – 53 mln
yandex – 49 млн

blogspot.com
google – 834 mln
yahoo – 188 mln
yandex – 21 млн

The results are quite interesting. The number of pages indexed by yandex for LiveJournal is almost as high as by google and yandex, where for blogspot and wordpress results are far behind. According to Yandex, 47 mln from 49 mln LiveJournal pages are in russian, which explains the results quite good.

There are quite few wordpress blogs which are indexed by yandex, and google search for given language doesn’t return the count. There is also a question, how good the search engines are at guessing blog language. I suppose that russian-language (or partially russian-language) blog has much more chance to be indexed by yandex beeing hosted on livejournal and not on wordpress. It is another thing on my list to check in free time.

There are some tricks to test for language tips for search engines. When defining language for page via meta content-language tag is not applicable (f.g. you can’t specify custom meta tags for particular pages) you can set lang property on span element. This tip is described in submit-site tips article on seo expert services.

Translate files using Google Translate directly from java

Google has provided API for its translation service. The API is mainly designed for www pages, but the wrapper for Java language is also available. The problem is, however, that the API enables to translate String items only (either single item or the array of items) and the size of input is limited. The Google Translate page provides the functionality to convert very large texts by means of file upload. It converts also quite good HTML pages.

I’ve used Apache HttpClient to use Google Translate service directly through its web page, not by the means of API. It converts document to HTML page, which must be extracted from inner frame. There are two things, that additionally needs clean-up. The first is encoding of HTML document. It is usually not unicode, while we usually want to save documents in unicode. My code changes the encoding to UTF-8. The second is that google places both original and translated version in document. Original is hidden and displayed via JavaScript on mouse over, however exists in document source and search engine can mark translated version as duplicate context. I clean up original too.

This is the source code for method translating file:

  public String translate(File file, String sourceLang, String destLangthrows Exception {
    Element form = currentPage.getElementById("text_form");
    List<NameValuePair> nvps = new ArrayList<NameValuePair>();
    nvps.add(new BasicNameValuePair("old_sl", sourceLang));
    nvps.add(new BasicNameValuePair("old_tl", destLang));
    nvps.add(new BasicNameValuePair("old_submit""Tłumacz"));
    nvps.add(new BasicNameValuePair("sl", sourceLang));
    nvps.add(new BasicNameValuePair("tl", destLang));
    addMissingFields(form, nvps);
    
    String actionUri = "http://translate.googleusercontent.com/translate_f?sl="
      +sourceLang+"&tl="+destLang;
    HttpPost post = new HttpPost(actionUri);
    MultipartEntity multipart = new MultipartEntity();
    for (NameValuePair nvp : nvps) {
      multipart.addPart(nvp.getName()new StringBody(nvp.getValue(), Charset.forName("UTF-8")));
    }
    multipart.addPart("file"new FileBody(file));
    
    post.setEntity(multipart);
    HttpResponse response = httpClient.execute(post);
    HttpEntity entity = response.getEntity();
    Source page = new Source(entity.getContent());
    // convert charsets to UTF-8
    OutputDocument output = new OutputDocument(page);
    for (Element meta : page.getAllElements("meta")) {
      String httpEquiv = meta.getAttributeValue("http-equiv");
      String content = meta.getAttributeValue("content");
      if (StringUtils.equalsIgnoreCase("content-type", httpEquiv&& content!=null) {
        String newAttr = meta.toString().replaceAll("charset=[A-Z0-9\\-]*\"""charset=UTF-8");
        output.replace(meta, newAttr);
      }
    }
    // now remove all spans with class "google-src-text"
    for (Element googleSrc : page.getAllElementsByClass("google-src-text")) {
      output.replace(googleSrc, "");
    }
    // clean up scripts
    for (Element script : page.getAllElements("script")) {
      output.replace(script, "");
    }
    // remove google's iframe
    for (Element iframe : page.getAllElements("iframe")) {
      if (StringUtils.containsIgnoreCase(iframe.getAttributeValue("src")".google."))
        output.replace(iframe, "");
    }
    page = new Source(output.toString());
    for (StartTag main : page.getAllStartTagsByClass("main")) {
      if ("div".equals(main.getName())) {
        int end = main.getEnd();
        return page.subSequence(end, page.length()).toString();
      }
    }
    return page.toString();
  }

— added 12th May 2011

  private void addMissingFields(Element elem, List<NameValuePair> nvps) {
    f1: for (Element input : elem.getAllElements(HTMLElementName.INPUT)) {
      String name = input.getAttributeValue(„name”);
      String value = input.getAttributeValue(„value”);
      if (name == null || value == null)
        continue;
      // check if exist
      for (int i=0;i<nvps.size();i++) {
        if (nvps.get(i).getName().equals(name))
          continue f1;
      }
      nvps.add(new BasicNameValuePair(name, value));
    }
  }

Siła naturalnego pozycjonowania

2009-11-23 Komentarze wyłączone

Pozycjonowanie naturalne to pozycjonowanie zgodne z wytycznymi Google dotyczącymi tworzenia stron WWW. Celem takiego pozycjonowania jest osiągnięcie wysokiej pozycji w wyszukiwarce poprzez dostarczenie użytkownikom wartościowej treści.

Podstawowym kryterium odróżniającym pozycjonowanie naturalnej od innych sposobów pozycjonowania, nie popieranych przez Google, jest wartościowa treść. Na stronach poświęconych pozycjonowaniu znajduje się wiele bełkotu. Jednym z najbardziej bełkotliwych fraz jest ‚wartościowy content’. Już samo wyrażenie nie ma sensu w żadnym ludzkim języku, jest bowiem zlepkiem polskiego słowa z angielskim terminem ‚content’ oznaczającym po prostu treść, zawartość.

Wyznaję zasadę braku zaufania dla terminów bełkotliwych. Używanie słów pochodzenia obcego, mimo że istnieją polskie odpowiedniki z reguły oznacza, że autor wypowiedzi albo sam nie rozumie, co pisze, albo próbuje czytelnikowi zrobić wodę z mózgu. W przypadku fraz będących zlepkiem słów z różnych języków taka sytuacja jest występuje niemal zawsze.

Co więc taki ‚wartościowy content’ zdaniem używających tego podejścia oznacza? Ano nic więcej, jak tylko tekst, który roboty wyszukiwarek przeczytają z przyjemnością i zaindeksują znajdujące się tam linki. Długość ponad 1500 znaków, maksymalnie 1 link na 1000 znaków, natężenie słów kluczowych na poziomie 3% itp. To oznacza słowo ‚wartość’ w tym kontekście.
Czy takie treści coś wspólnego z wartością? Nie więcej niż demokracja ludowa z demokracją. Nazywanie takich treści wartościowymi jest poważnym nadużyciem.

Tekst wartościowy to taki tekst, który dla czytelnika niesie konkretną wartość. Czytelnik może się z takiego tekstu dowiedzieć czegoś nowego, zostać zachęcony do odwiedzenia ciekawej witryny WWW lub po prostu dobrze się w czasie lektury bawić. Kryterium to jest bardzo proste. Tekst wartościowy to tekst, jakiego nie wstydzisz się pokazać ludziom, którzy szukają pozycjonowanej przez Ciebie frazy. Muszą zachęcać do czytania i odwiedzenia witryny docelowej. Publikując takie treści nie musisz się obawiać, że zaplecze pojawi się w wynikach wyszukiwania wyżej niż pozycjonowana fraza.

Wartościowe zaplecze możemy podzielić na 2 części: teksty o wartości dodanej i teksty reklamowe.
Teksty o wartości dodanej to artykuły, które użytkownicy będą chętnie linkować i komentować.

    Przykłady:

  • – artykuły, z których użytkownik dowie się czegoś nowego, np opisy miejscowości i atrakcji turystycznych
  • – artykuły, które ludzie będą czytać dla przyjemności, np relacje z wypraw
  • – artykuły odsyłające do innych wartościowych artykułów, np zbiór linków do schronisk turystycznych, z krótkim opisem każdego schroniska

Teksty reklamowe to publikacje, których lektura ma zachęcić czytelnika do przejścia do innej witryny. Do tej kategorii wchodzą wszelkiego rodzaju wpisy na forach dyskusyjnych informujące o nowym portalu tematycznym, wpisy na blogu zachęcające do przeczytania ciekawego artykułu, opisy w katalogach przedstawiające zalety jakiejś strony. Teksty reklamowe zaliczają się do wartościowego zaplecza i są zgodne z wytycznymi Google’a, jeśli są pisane z myślą o czytelniku. Tekst musi być napisany tak, aby człowiek go czytający kliknął link.

Zwróć uwagę, że wartościowe zaplecze ma podwójną siłę reklamową. Po pierwsze, podnosi pozycję w wyszukiwarce docelowej witryny. Po drugie, swoją zawartością zachęca czytelnika do odwiedzenia tej witryny. Ten drugi efekt jest z biznesowego punktu widzenia znacznie ważniejszy niż sama pozycja w przeglądarce! Człowiek, który odwiedził daną witrynę klikając odnośnik ma większą szansę na niej pozostać niż ktoś, komu tylko wyświetliła się ona na liście wyników!

Wszelkiego rodzaju teksty tworzone z myślą jedynie o robotach skanujących strony stanowią wg wytycznych Google’a spam. Teksty takie w najlepszym przypadku to zwykłe wodolejstwo. Czasem są to losowe ciągi słów w ogóle nie nadające się do czytania. W najgorszym przypadku są to kradzione teksty z innych witryn, w których została zmieniona część słów, wyrazy i zdania zostały poprzestawiane itp. Jeśli trafisz przez przypadek na taką stronę w sieci, natychmiast ją poznasz. Takie strony nie nadają się do czytania przez człowieka. Zaśmiecają wyniki wyszukiwań i pozostawiają niesmak.

Na szczęście nie jesteśmy bezradni. Takie witryny można zgłosić do Google jako łamiące dobre obyczaje internetowe. W przypadku kradzieży treści można spróbować wytyczyć złodziejowi proces cywilny z tytułu naruszenia praw autorskich.

Pozycjonowanie zwane SEO

2009-11-05 Komentarze wyłączone

Parę słów wprowadzenia
Dzisiaj postanowiłem, w ramach ćwiczenia intelektualnego, zająć się trochę pozycjonowaniem.
Pozycjonowanie stron WWW, czyli tzw. optymalizację mechanizmu wyszukiwania (ang. SEO) wiele osób uważa za sztukę tajemną, nie bez powodu. Tajemnicze mechanizmy wyliczania PageRank, w dodatku często aktualizowane, powodują, że w tej branży trzeba być ciągle na bierząco. W dodatku Google i inne wyszukiwarki nie ujawniają mechanizmów swojego działania. Do wielu rzeczy trzeba dojść samodzielnie metodą prób i błędów.
Na szczęście są ludzie, którzy chętnie dzielą się swoją wiedzą i fora dyskusyjne, które im to umożliwiają. Ilość informacji, jaką można znaleźć na takich forach, przyprawia o ból głowy. Przewija się tam jednak jeden motyw – nawet osoba, która nie ma pojęcia o pozycjonowaniu, może swoją stronę wypozycjonować. Wystarczy, że będzie wytrwała. Będzie dodawać swoją stronę do katalogów, reklamować ją na forach dyskusyjnych, portalach społecznościowych i artykułach publikowanych na portalach tematycznych. Zaskakujące? Ależ skąd! Przecież misją Google i innych wyszukiwarek jest dostarczanie treści promowanych w sposób naturalny, poprzez spontaniczną aktywność użytkowników internetu (taką jak fora, blogi itp) a nie sztuczki magików od SEO.
Można się zatem spodziewać, że każda strona tematyczna uzyska wysoki PageRank jeśli:
– w sposób dostatecznie interesujący będzie opisywać daną tematykę
– będzie dostarczać odpowiednio dużo unikalnej treści
– informacje o niej znajdą się w wielu miejscach w sieci
Użyłem tu wielu pojęć ogólnikowych. Co to znaczy dostatecznie interesujący, odpowiednio dużo? To zależy, co chcemy wypromować. Jeśli nasza strona dotyczy wypasu owiec w bieszczadach, prawdopodobnie nawet kilka artykułów i wpisy na forach pod takim hasłem wystarczą. Jeśli tematyką naszej strony są psy rasowe, będziemy musieli dostarczyć naprawdę dużo ciekawej i wartościowej treści, bo konkurencja ze strony innych stron o takiej samej tematyce jest silna.

Cel pozycjonowania
Przechodząc do rzeczy, postanowiłem dla zabawy i sprawdzenia siebie spróbować wypozycjonować hasła związane z moim hobby, turystyką górską. Mój sposób uprawiania turystyki górskiej jest dosyć ekstremalny. Nie jest to jednak wspinanie się po górach wysokich. Zdobywanie Himalajów jest bardzo ekstremalne, zastrzeżone dla wąskiej grupki osób, a przy tym niezwykle widowiskowe i przykuwające uwagę. Mój sposób nie jest widowiskowy i uwagi zbytnio nie przykuwa. To chodzenie po bezdrożach, bez szlaków, nocowanie w namiotach i szałasach.
W tym roku związałem się bliżej ze Studenckim Kołem Przewodników Beskidzkich. Zapisałem się na kurs przewodnika beskidzkiego oraz uczestniczyłem w kilku wyjazdach koła. Jeden z tych wyjazdów miał miejsce w dzikie ukraińskie Gorgany, których szczyty pokryte są skarłowaciałą sosną, zwaną kosówką. Tu nasunęły mi się dwa słowa kluczowe: pierwszym z nich jest właśnie kosówka, drugim – przewodnik górski.

Kosówka
Posługując się wspaniałym narzędziem Keyword Tool autorstwa Google’a sprawdziłem, jak popularne jest słowo ‚kosówka’. Ogólna miesięczna liczba wyszukiwań pokazana przez narzędzie wyniosła 1300 dla słowa ‚kosówka’ i 320 dla ‚kosowka’. Oprócz tego w szukanych frazach wysoką pozycję zajęły ‚pensjonat kosówka’, ‚willa kosówka’ i ‚dom w kosówce’.
Za pomocą wyszukiwarki Google przyjrzałem się stronom, z którymi będę miał się zmierzyć. Na pierwszym miejscu znajduje się hasło z Wikipedii. Jest to prawidłowe zjawisko. Wikipedia zawiera artykuły tematyczne, w których tytułowa fraza często pojawia się w treści. W tym przypadku jednak nie ma artykułu o takim tytule, tylko strona kierująca do innych haseł: kosodrzewina (właściwa nazwa kosówki), piętro roślinne kosówka, rzeczka Kosówka, oraz 3 miejscowości w Polsce. Kolejnymi konkurentami na pierwszej stronie wyszukiwania Google są strony pensjonatów w Karpaczu i we wsi Sienna. Jest też pole namiotowe i klub turystów górskich o takiej nazwie. W nich jednak fraza ‚kosówka’ jest tylko częścią nazwy własnej, nie powtarzającą się w treści strony.

Przewodnik górski
Każdy przewodnik ma swój rejon uprawnień, po którym może prowadzić komercyjnie wycieczki. Nie zostaje się przewodnikiem górskim, lecz przewodnikiem beskidzkim, tatrzańskim itp. Umiejętności zdobyte na kursie przewodnickim są jednak uniwersalne. Jeśli tylko nie organizujemy wyprawy komercyjnej, możemy jechać, gdzie tylko chcemy. Oczywiście do zdobywania gór wysokich trzeba zdobyć dodatkowe umiejętności, ze wspinaczką skałkową na czele. Przewodnik górski powinien sobie jednak poradzić w każdych górach lesistych i na nizinach (góry wysokie zostawiając przewodnikom wysokogórskim).
Przyjrzałem się zatem dokładniej frazie ‚przewodnik górski’. Również ta fraza nie jest wyszukiwana imponującą ilość razy. Keyword Tool wskazał 590 wyszukań frazy ‚przewodnik górski’ i 140 wyszukań ‚kurs przewodnika górskiego’. Dodatkowe słowa kluczowe do rozważenia zawierają jednak całkiem mocnych zawodników: turystykę wyszukiwaną ponad pół miliona razy, tatry wyszukiwane 300 tyś. razy i zwiedzanie – 74 tyś. razy.
Pierwsza strona wyszukiwania Google zawiera portale poświęcone poświęcone przewodnictwu górskiemu oraz książkom, również określanym mianem przewodników. Są to adresy stron dotyczących przewodników górskich (w obu znaczeniach terminu), więc zawierają wiele wystąpień frazy tytułowej w treści. Są więc silniejszymi konkurentami.

Co dalej
Google lubi systematyczność, nie będę się więc spieszył z podejmowaniem działań. Pozwolę mu najpierw pożywić się treścią tego artykułu. Wszystko, co publikujemy w internecie, bierze udział w wielkiej grze zwanej ‚pozycjonowanie’. Nie zawsze tylko jesteśmy świadomi, że w niej uczestniczymy.