На некоторых хостингах, на свебе например, не дает постить в вп через xml-rpc.
В .htaccess
<Files xmlrpc.php> SecFilterInheritance Off </Files>
На некоторых хостингах, на свебе например, не дает постить в вп через xml-rpc.
В .htaccess
<Files xmlrpc.php> SecFilterInheritance Off </Files>
Пара способов, загрузить файлы на фтп при помощи курла.
Первый, самый простой и расово верный:
curl -v -T filename ftp://login:password@ftp.site.ru
Второй, немного побольше, при помощи php
function UploadFTP($ftpLogin, $ftpPass, $ftpAddr, $ftpFile){ $remoteurl = "ftp://${ftpLogin}:${ftpPass}@${ftpAddr}${ftppath}/${ftpFile}"; $ch = curl_init(); $fp = fopen($ftpFile, "rb"); curl_setopt($ch, CURLOPT_URL, $remoteurl); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($ftpFile)); $error = curl_exec($ch); curl_close($ch); return $error; }
Нашел на одном из блогов такой вариант записи robots.txt
User-agent: * Allow: / Disallow: /wp-content/ Disallow: /trackback/ Disallow: /wp-admin/ Disallow: /archives/ Disallow: /*? Disallow: /*.js$ Disallow: /*.inc$ Disallow: /*.css$ Disallow: */trackback/ Disallow: /c/ Disallow: /author/ Disallow: /tag/ User-agent: Mediapartners-Google Allow: / User-agent: Adsbot-Google Allow: / User-agent: Googlebot-Image Allow: / User-agent: Googlebot-Mobile Allow: / #User-agent: ia_archiver-web.archive.org #Disallow: / Sitemap: http://wpswitch.com/robots.txt
Сразу видно, что расчитано на чпу вида %category%.
Еще интересен вариант с отсечением js, inc и css. Хотя вроде цсс итак не индексируется.
Несколько полезных примеров регулярок, которые можно скопипастить по мере нужды. Также небольшая памятка по составлению и функциям.
Выражение | Совпадает |
---|---|
foo | Слово foo |
^foo | Начинается с foo |
foo$ | Кончается с foo |
^foo$ | Точное совпадение с foo |
[abc] | a, b или c |
[a-z] | Любая строчная буква |
[^A-Z] | Любой символ не в верхнем регистре |
(gif|jpg) | Совпадает либо gif либо jpeg |
[a-z]+ | Одна или более строчных букв |
[0-9.-] | Любое число, точка или минус |
^[a-zA-Z0-9_]{1,}$ | Любое слово, в котором как минимум одна буква, число или _ |
([wx])([yz]) | wy, wz или xy, xz |
[^A-Za-z0-9] | Любой символ (не буква и не цифра) |
([A-Z]{3}|[0-9]{4}) | Совпадает три буквы или четыре цифры |
Когда я делал карту сайта, захотелось отобразить заголовки категорий вертикально. Но ни html, css пока сделать такого не позволяют. Хотя нет, css позволяет задать порядок расположения слов для языков, у которых порядок написания справа налево и сверху вниз (китайский например), но для кирилицы это не пойдет.
Как еще можно сделать текст вертикальным? Можно обрезать слово по буквам и разместить их в столбик. Можно применить javascript.
Есть еще один способ — создать картинку на лету из svg. Read On…
Карты сайта обычно у всех одинаковы — это простыня со списком ссылок, которых чем больше — тем лучше. Считается, что так лучше в плане сео. И хотя для ботов уже давно делают свою карту, в xml, многие продолжают делат как раньше.Особенно часто для вп используют плагин dagon sitemap generator.
Но можно все сделать красиво. Нашел вот примерчик, как можно сделать красивую карту сайта.
Данный пример хорошо подходит для коммерческого сайта, а вот для блога переделать его проблемно. Особенно, если постов много и категорий.
Немного поколдовав, я сделал вот такую карту сайта с использованием jQuery . Под осликами наверно не будет корректно отображаться.
Read On…
И не использовал, как оказалось.
Q: Does Google ever use the «keywords» meta tag in its web search ranking?
A: In a word, no.
В метатегах вообще смысла не осталось. По примеру с их блога, дескрипшн выводится в случае совпадения искомых слов в нем.
For example, we do sometimes use the «description» meta tag as the text for our search results snippets, as this screenshot shows:
Одновременно выводит несколько скрывающихся/появляющихся блоков. Я использовал при создании своей карты сайта.
// Andy Langton's show/hide/mini-accordion - updated 18/03/2009 // Latest version @ http://andylangton.co.uk/jquery-show-hide // this tells jquery to run the function below once the DOM is ready $(document).ready(function() { // choose text for the show/hide link - can contain HTML (e.g. an image) var showText='Show'; var hideText='Hide'; // append show/hide links to the element directly preceding the element with a class of "toggle" $('.toggle').prev().append(' (<a href="#">'+showText+'</a>)'); // hide all of the elements with a class of 'toggle' $('.toggle').hide(); // capture clicks on the toggle links $('a.toggleLink').click(function() { // change the link depending on whether the element is shown or hidden $(this).html ($(this).html()==hideText ? showText : hideText); // toggle the display - uncomment the next line for a basic "accordion" style //$('.toggle').hide();$('a.toggleLink').html(showText); $(this).parent().next('.toggle').toggle('slow'); // return false so any link destination is not followed return false; }); });
You can show/hide an entire div by giving it a class of «toggle». Links and other child elements will work fine too. The element directly before this one is a heading, so it gets a show/hide link appended.
A single paragraph can be hidden by giving it a class of toggle too. I can’t help but be impressed by how easy it is to use jquery — even for someone with limited programming and javascript experience like me. Again, the preceding element is a heading.
Now: a list
Загружает по курлу указанный урл (грузит с веба, не с локального компа), возвращает ссылку на картинку.
function UploadImage($iurl){ echo date("r")." fetching $url\r\n"; echo date("r")." sending $postvars\r\n"; $ch = curl_init(); $postvars = "type=3&qnt=1&isurl=1&userimg1=$iurl&to_size_w=&to_size_h=&to_angle=0&pvs1=350&quality=100&pr_text=Увеличить&text=description=rules=on&submit_button=Загрузить"; curl_setopt($ch, CURLOPT_POST ,1); curl_setopt($ch, CURLOPT_POSTFIELDS , $postvars); curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1); curl_setopt($ch, CURLOPT_HEADER ,1); curl_setopt($ch, CURLOPT_TIMEOUT,15); // curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); curl_setopt($ch, CURLOPT_COOKIEJAR, "c1.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, "c1.txt"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, "http://imageshost.ru/upload.php"); curl_setopt($ch, CURLOPT_USERAGENT, "Firefox/3.0"); $result = curl_exec($ch); curl_close($ch); preg_match("!img=(.*?)\]!i", $result, $out); $result = $out[0]; return $result; }