İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Google gorsel arama icin PHP + .htaccess dinamik watermark cozumu.

serkantkar

0
İyinet Üyesi
Katılım
17 Temmuz 2012
Mesajlar
977
Reaction score
7
Konum
Sammamish, WA, US
Google arama saydasinda gorsellerin fligran (watermark) ile cikmasini istiyorsaniz su cozumu kullanabilirsiniz.


.htaccess -> RewriteCondlari cogaltarak daha sipesifik resimlerinizi filtreleyebilirsiniz. Mesela asagidaki ornek .jpg uzantili resimleri ve dosya yolunda "gallery" kelimesi gecenlere fligran ekleyecektir. HTTP_REFERER ile sadece blank.html ile biten sayfa adreslerinde fligran goster diyoruz. Ama https ile gelen aramalarda bu ise yaramiyor cunku guvenlik yuzunden HTTP_REFERER bos gelecektir. Bu durumu cozmek icin isterseniz tum hotlinklemeler icin fligran goster de diyebilirsiniz (mydomain.com yerine kendi domaininizi yazin): RewriteCond %{HTTP_REFERER} !mydomain.com [NC]


Kod:
RewriteCond %{HTTP_REFERER} blank.html$
RewriteCond %{HTTP_REFERER} google
RewriteCond %{REQUEST_URI} .jpg$
RewriteCond %{REQUEST_URI} gallery
RewriteRule ^(.*)$ /watermarkimg.php

watermarkimg.php -> Bu PHP scripti ilgili gorseli alip fligran yapistirip tarayiciya geri gonderecektir. Bu sayede gorsel Google aramasinda fligranli fakat site icinde normal gorunecektir.
Kod:
<?php  
header('content-type: image/jpeg');  
$jpgPath = $_SERVER["REQUEST_URI"];
$jpgPath = ltrim($jpgPath, '/');

$watermark = imagecreatefrompng('images/googlewatermark.png'); // Buraya resme yapistirmak istediginiz fligran resminin yolunu veriyorsunuz.
$watermark_width = imagesx($watermark);  
$watermark_height = imagesy($watermark);  
$image = imagecreatetruecolor($watermark_width, $watermark_height);  
$image = imagecreatefromjpeg($jpgPath);
$size = getimagesize($jpgPath);  
$dest_x = ($size[0] - $watermark_width) / 2;  
if ($dest_x < -30)
{
  $dest_x = -30;
}

$dest_y = $size[1] - $watermark_height - 5;  
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);  
imagejpeg($image);  
imagedestroy($image);  
imagedestroy($watermark);  
?>

Ornek fligran sekli, resimlerin ust tarafina bakin:
http://www.google.com.tr/search?hl=...86,d.cGE&fp=83d0c37a306d5576&biw=1920&bih=979
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst