25 October, 2007

На заметку: 43 ошибки в дизайне которые нельзя допускать. Часть 2.

Начало смотреть На заметку: 43 ошибки в дизайне которые нельзя допускать. Часть 1.

  1. Используйте текстовую навигацию. Текстовая навигация работает быстрее, да и к тому же, у некоторых посетителей может быть отключен показ картинок
  2. В том случае если линк ведет на PDF документ, запуск Acrobat reader потребует времени и пока он не запуститься пользователь будет видеть пустой экран. Это многих раздражает
  3. Не старайтесь иметь много версий сайта оптимизированных на разные скорости посетителя. Помните что главное содержание
  4. Будьте внимательны с рекламой. Вставка рекламных блоков внутри контента может повысить "кликабельность" но в тоже самое время отолкнет часть читателей от вашего сайта. Знайте меру
  5. Используйте простую систему навигацию. Самое полохое что может произойти - посетитель запутается в вашем сайте и не найдет нужной информации
  6. Избегайте всевозможных заставок.  Не заставляйте пользователей смотреть их в обязательном порядке, дайте возможность перейти к полезной информации
  7. Не используйте FrontPage и другие простейшие и дешевые редакторы. Хоть они и позвлояют "изготовить" дизайн очень быстро, но очень часто на выходе вы получите не очень оптимальный код
  8. Убедитесь в том что сайт правильно отображается в различных броузерах (броузеры обрабатывает CSS по разному). Проверьте работоспособность в основных броузерах
  9. Любая ссылка должна содержать статичный текст.. "Click here" - не очень информативная ссылка. Делайте ссылки информативными. Кроме удобства которые получат посетители вы получите маленький плюсик при продвижении сайта
  10. Не скрывайте ссылки с помощью скриптов.Пользователь должен видеть куда он переходит по ссылке в статусной строке броузера
  11. Делайте ссылки хорошо видимыми. Они должны выделяться из общего текста (цвет, подчеркивание и т.д.)
  12. Не применяйте подчеркивания для обычных текстов. Это введет в заблуждение посетителей т.к. они подумают что это ссылка
  13. При клике на ссылку она должна менять цвет
  14. Старайтесь избегать анимационных гифов. Они отвлекают от содержимого сайта
  15. Обязательно используйте аттрибуты ALT и Title для изображений. Помимо преимущест для SEO они помогут слепым посетителям и посетителям с отключенной графикой
  16. Не используйте едкие цвета для оформления сайта
  17. Не используйте всплывающие окна (pop ups) . Во первых это раздражает , а во вторых у многих стоит блокировка pop ups
  18. Избегайте JavaScript линков. Поисковые роботы не очень то сильно их жалуют
  19. Обязательно включите навигационные линки вниз страницы
  20. Очень длинные страницы - не совсем правильное решение. Что бы добраться до нужной информации посетителю придется долго прокручивать страницу и искать то что его интересует
  21. Не допускайте появления горизонтального скроллинга.. Если вертикальный скролл допустим то горизонтальный нет. Сейчас наиболее популярное разрешение экрана 1024*768 - проверьте что бы при таком разрешении все было нормально
  22. Скажите нет ошибкам в текстах!. Орфография и грамматика не должны хромать
  23. Если вы используете Captcha - убедитесь что картинка читаема
  24. Не используйте скрытый текст

24 October, 2007

На заметку: 43 ошибки в дизайне которые нельзя допускать. Часть 1..

За основу взята эта статья.

  1. Сайт должен грузиться очень быстро. Если посетитель не увидел сайта в течении нескольких секунд и не понял о чем сайт, скорее всего он покинет его.
  2. Это интернет а не книга. Здесь недопустимы большие тексты. Поэтому всегда применяйте всевозможные видимые маркеры, точки, заголовки разделители.
  3. Старайтесь не использовать сложные шрифты, очень часто такие шрифты сложночитаемые и если задача сайта донести информацию до посетителя сделайте процесс получения этой информации максимально удобным.
  4. В продолжение предыдущего пункта. Не используйти очень мелкие шрифты. Хотя сейчас многие броузеры имеют функцию зума, не заставляйте пользователя выполнять лишние операции
  5. Не открывайте новые странички в новом окне броузера. Обычно новые окна открывают когда осуществляется переход на какой нибудь внешний сайт. Существует мнение, что открыв чужой сайт в том же окне сайт потеряет посетителя. Если ваш сайт его заинтересовал то он вернется :)
  6. Не меняйте и не фиксируйте размеры окна броузера. Пользователь сам должен принимать решение о его размерах.
  7. Не требуйте регистрации если в этом нет необходимости. Не ставьте своей задачей получить информацию (мыло, адрес, имя) о посетителе
  8. Никогда не подписывайте посетителя на всевозможные рассылки автоматически (обычно в момент регистрации на сайте). Отправка нежелательных писем не лучший способ заводить друзей
  9. Не злоупотребляйте использованием Flash. Большое количество Flash замедляет загрузку сайта, некоторых досаждает. Лучше пользоваться им только в том случае когда задуманное невозможно реализовать с помощью статики (и JavaScript)
  10. Не делайте странички музыкальными.. Мода на это прошла,
  11. Если все же деваться некуда и проигрывания аудиофайлов не избежеть , обязательно предоставьте пользователю возможность управлять проигрываением файла (play, stop)
  12. Старайтесь не засорять сайт всякой информацией и "расхваливанием себя".. Для этого создайте страничку "About Us"
  13. На главной страничке должен быть настоящий сайт а не предложение пройти на него. Чем меньше шагов делает посетитель для получения информации - тем лучше
  14. Всегда указывайте контактные данные. Отсутствие этой информации плохо не только для посетителей но и для вас
  15. Не теряйте цепочки для срабатывания кнопки Back. Например при открытии нового окна "Back" перестает работать т.к. возвращаться некуда
  16. Не используйте мигающие тексты. В большинстве случаев они отпугнут посетителя
  17. Избегайте сложных структур в URL. Лучше в адресах использовать ключевые слова. Это удобно не только посетителям но и полезно для поднятия в посиковых системах
  18. Используйте CSS
  19. Сделайте поиск по сайту. Чем проще посетителю найти нужную ему информацию на вашем сайте тем лучше
  20. Избегайте выпадающих (drop down) меню. Пользователь должен иметь прямые пути для навигации. Использование выпадающего меню может запутать посетителя и скрыть информацию которую ищут.

Продолжение На заметку: 43 ошибки в дизайне которые нельзя допускать. Часть 1..

23 October, 2007

40 советов по оптимизации PHP кода. Как написать быстрое приложение

Сегодня попалась интересная статья в которой приводятся 40 советов по написанию более оптимального кода на PHP. С чем то я соглашаюсь, что то мне кажется не совсем верным. К тому же во многих советах пишется что этот способ быстрее в 'три', 'четыре' и т.д раз.. Может быть это и так, но ведь никто не проверял ...

Поэтому ниже представлен простой перевод без всяких купюр

  • Если метод может быть статичным, то обязательно декларируйте его как static
  • Команда echo работает быстрее команды print
  • используйте множественные параметры вместо конкатенации строки
  • Установите maxvalue (до чего крутить цикл) для оператора for перед началом цикла а не в нем
  • Освобождайте память (функция unset) в случае использования больших массивов (array)
  • Избегайте использования методов __get, __set, __autoload
  • использование require_once() дорогостояще
  • Используйте полный путь в include и require, это позволит тратить меньшее время на вычисление системой реального пути
  • Если необходимо узнать время, когда скрипт начал свою работу использование $ _SERVER [ "REQUEST_TIME"] предпочтительнее использования функции time()
  • использование строковых функций strncasecmp, strpbrk and stripos более оптимальное чем использование регулярных выражений
  • Функция str_replace работает быстрее чем preg_replace, и в тоже время функция strtr быстрее функции str_replace
  • Если необходимо в строке заменить всего один символ то лучше использовать функцию для замены которая работает только с символами/строками и не принимает массивов. Функции способные обрабатывать массивы всегда работают более долгое время
  • Оператор case работает более быстро, чем множественные if ..else
  • Подавление ошибки с помощью использования @ сильно замедляет работу
  • Включите модуль apache mod_deflate
  • Закрывайте открытые коннекты к базе после того как отпадает в них необходимость
  • $row[’id’] работает в 7 раз быстрее чем $row[id]
  • Отключите сообщения об ошибках
  • Не используйте функции внутри цикла, в таких случаях for ($x=0; $x < count($array); $x). В этом случае функция count() будет вызываться и выполняться в каждом цикле. Выполните эту функцию до for занеся результат в переменную.
  • Инкремент локальныз переменных работает быстрее чем инкремент глобальных.
  • В методах и функциях используйте локальные счетчики
  • Инкремент свойства метода ($this->prop++) в три раза медленнее инкремента локальной переменной
  • Инкремент необъявленной переменной происходит в 9-10 раз медленней чем предварительно объявленной
  • Объявление глобальных переменных замедляет работу функций
  • Метод на основе классов работает быстрее метода описанном в базовом классе
  • Использование 'одинарных кавычек' позволяет интерпретировать код быстрее, т.к. в случае "двойных кавычек" интерпретатор ичет внутри строки переменные
  • Скорость выдачи клиенту статической страницы (HTML) в несколько раз быстрее выдачи страницы написанной на PHP
  • Установка всевозможных кеширующих модулей (PHP caching product) и их использование позволит увеличить производительность на 25%-100%
  • Сделайте кеш как можно больше (memcached)
  • Использование модуля Apache mod_gzip позволит сократить потребление трафика до 80%, следовательно клиенты получат более быстре странички
  • Используйте профайлер для определения самых "времязатратных" участков кода для возможной последующей оптимизации кода
  • Если позволяет время то пишите функции на С - они работают быстрее
  • Используйте заранее описанные функции
  • Не разделяйте методы слишком много.. Это можэно сделать и потом
  • Не описывайте все подряд структуры как класс, массивы тоже хорошо справляются с этой задачей
  • Если есть возможность не использовать ООП (объектно ориентированное программирование) то и не испльзуйте. (методы и объекты потребляют очень много памяти)
  • Выполнение $i++ более медлительно чем ++$i

18 October, 2007

На заметку : 5 правил поисковой оптимизации картинок / изображений для поисковых систем

Помимо основного поиска (текстового) все поисковые системы в настоящее время предоставляют возможность производить поиск по картинкам. В данной заметке не стоит вопрос о конвертабельности и полезности "картиночного трафика" (некоторые товарищи утверждают что и на нем можно заработать, надо только знать как...). Здесь рассматриваются 5 правил оптимизации картинок для поисковых систем, или по другому говоря "что нужно сделать для получения картиночного трафика". Если к такому трафику нет интереса то можно дальше и не читать..:)

1. Проверьте Robots.txt файл

Необходимо убедиться, что папка с изображениями разрешена для индексации роботами. В одно время, когда стоимость каналов была достаточно высокой, что бы получить хоть какую то экономию многие ставили запрет на индексацию папки в которой хранились изображения. Самым оптимальным будет такое решение вопроса. Разделить картинки на две папки. В одной хранить изображения/картинки служащие для дизайна, навигации сайта.. А во второй "контентные картинки" - т.е. те на которых изображается продукция, фотография и т.д и разрешить к этой папке доступ поисковых ботов.

2. "Правильное" Имя файла с картинкой

Одним из основных показателей сдужит имя файла картинки. Поэтому надо давать файлам картинок осмысленные имена, отражающие содержимое. Если для названия используется несколько слов то самым оптимальным способом их разделения будет тире (в принципе это относится к любым именам файлов любых типов. )

3. О пользе использования аттрибута ALT тега IMG

Проверьте и убедитесь в том, что все картинки / изображения, которые должны оказаться в индексе поисковой системы имеют аттрибут ALT (не делайте его слишком большим). Кроме того что этот аттрибут поможет правильно проиндексировать поисковыми роботами картинки / изображения, он участвует и в контентной оптимизации страницы (хотя значимость альта в этом случае очень мала, и по некоторым отзывам вообще не имеет значения. А если имеет....? ). Кроме полезности в оптимизации этот аттрибут позволит людях со всякими нарушениями зрения "прослушать" картинку. Ну и в случае отключения показа картинок в броузере эти альты будут выводиться вместо картинки

4. Используйте подпись к картинке

Обязательно разместите маленькую подпись под или над картикой / изображением. Если этот текст находится в одном блоке (ячейке таблицы <td>, диве <div> ) с картинкой то еще лучше. Будет лучше если эта подпись будет больше чем текст в аттрибуте альт (alt) и желательно сделать ее более описательной.

5. Добавляйте фотографии/ картинки/изображения в статьи, пресс-релизы

Если все вышеперечисленное выполнено и к тому же совпадает с общей тематикой страницы, то можно ожидать что картинка будет признана релевантной и займет достаточно высокую позицию в выдаче при поиске в изображениях.. Ну и само собой - красио оформленный текст гораздо приятнее читать :)