Feb 25

If you use Wordpress as a CMS for your clients’ websites, you’ve probably faced that issue: regular people find Wordpress hard to use. Yes, it is quite user-friendly, but apparently not enough for people who double-click on links when browsing or worst, enter their website’s url in Google to get there. To make it easier for these people to maintain their own website, I would suggest the following tips.

1. Install an extended version of TinyMCE

tinymce advanced

This is one of the first things I realize that the person who will maintain the website is not internet-saavy. To avoid annoying “Where is the blablabla button?” question, just install this wordpress plugin and you’ll save some precious time when teaching how to use the Wordpress admin. The TinyMCE advanced plugin gives you a setting page where you can add many buttons to the visual editor.

2. Add rich text to your widgets

rich-text-widget

Do you know what happens the first time your client tries to add an image in a sidebar widget? He calls you, usually when you have something much more important to finish. Hopefuly someone created this nifty little wordpress plugin to add rich-text widgets in your admin.

3. Make pages management easier

wordpress page management

Managing pages is a little too abstract in the regular Wordpress for most clients, again there is a nice Wordpress plugin that simplifies the pages management task by using a wonderful drag and drop interface.

4. Give them better control over the navigation

navigation control

This is not necessary for smaller sites with simple navigation, but it will be for websites using several navigations mixing categories and pages. With the Wordpress Navigation List Plugin, your client takes full control over their navigation with an easy-to-use interface.

5. Give them limited permissions

advanced user permission

Your clients will never use some functionalities in Wordpress, why should they even access them then? Installing the Adminize plugin will let you decide what your client can access, thus limiting the potential mistakes and decluttering the admin.

6. Simplify the Wordpress admin’s interface

trim interface

Honestly this isn’t a hug improvement, but the Admin Trim Interface plugin will help your client to find his way faster by decluttering the interface.

7. Give them advanced control over the contact forms

contact form

Forms creation or modification are a quite complicated task for the regular internet user, to let your client work on his website’s forms, I would suggest one of these two plugins:

  • cforms II: the one I use on Designer Daily, it has a simple form admin area but can be a little annoying to upgrade (no auto upgrade).
  • Contact Form 7: a plugin I used on several clients websites, easy to install and configure.
8. Let them access stats from within the Wordpress admin

google analyticator

Why would you do that? Simply because some clients are not too familiar with handling multiple accounts for web services, this will then make their life easier by giving them all the info they need in one place. For that I’d suggest these two plugins:

9. Use Windows Live Writer write blog.

概述

Tagged with:
Feb 25

SEO Smart Links provides automatic SEO benefits for your site in addition to custom keyword lists, nofollow and much more.

SEO Smart Links can automatically link keywords and phrases in your posts and comments with corresponding posts, pages, categories and tags on your blog.

Further SEO Smart links allows you to set up your own keywords and set of matching URLs. Finally SEO Smart links allows you to set nofollow attribute and open links in new window.

It is a perfect solution to get your blog posts interlinked or add affiliate links to other sites.

Everything happens completely transparent, and you can edit the options from the administration settings panel.

The smart link plugin for WordPress lets you insert links using natural language rather than urls.

Without:

<a href="http://example.com">
  Example
</a>

With:

[Example->]

The resulting increase in usability is quite significant.

A Few Words On Autolink Plugins…

… since this was the initial idea behind smart links.

There are several autolink plugins around. aLinks is one of the better ones, if this is what you’d like to be using. They invariably suffer from one or two niggles:

  1. They’re too systematic: If your keyword shows 10 times in a text, it’ll get linked 10 times.
  2. There are time where it makes more sense to add a keyword link on an entire key phrase, and autolink plugins don’t allow this.

Smart links’ flexibility lets you work around both niggles.

Default Usage

The Basics

Using smart links, you insert links using an arrow in between brackets (the same syntax as the one used on several established newspaper websites):

[link text->link]

For instance, if you’re linking to a page called "dog training tips", you could end up writing:

[teach your puppy to sit->dog training tips]

The syntax is permissive: It’s case insensitive and impervious to extra spaces.

If your link text is the same as the link, you can simply close the bracket after the arrow:

[dog training tips->]

For reference, the syntax also works with normal urls and emails:

[goitworld->http://www.goitworld.com]
[Mickey->mickey@mouse.com]

Also for reference, "slugs" (the sanitized versions of titles that show in the url) work too:

[teach your puppy to sit->dog-training-tips]

These basics in mind, let’s hop to how they can become useful for SEO and site maintainability purposes.

How Smart Links Come In Handy

Smart links are useful in that they let you pre-insert links in your site.

The links get silenced when no relevant piece of information is found. They then mutate as the site evolves, in order to point to the most worthy piece of information at all time.

Suppose that you’re starting a dog training blog.

During the first week, you add a few posts and add smart links to "dog training tips". You know you’ll eventually write about this explicitly, so you might as well add the links as you create the posts.

Shortly after, you spend some time adding a bunch of bookmarks in the link manager. One of them is called "Dog Training Tips". The smart links, which were silenced until now (they were returning the text with no link), now point to the bookmark you’ve just entered.

You update the bookmark (you change it’s url to a better site you’ve just found) the next day, and the site updates without your even worrying about it.

Eventually, you write a post titled "Dog Training Tips" — and add a smart link to "Dog Training Tips" in it. The old posts are now pointing to this post instead, and the smart link in this post is pointing to your bookmark.

A week later, you write a new post called "Dog Training Tips". The smart links are now all pointing to this new post — because it is more recent than the first one.

At last, you create a section — a static page — called "Dog Training Tips", with a smart link to "Dog Training Tips" in it. All of the smart links are now pointing to this static page. The only exception is the "Dog Training Tips" smart link on that page, which is pointing to your bookmark.

If, upon revisiting your site a year later, you decide to turn the "Dog Training Tips" section into a subsection of "Dog Training", smart links will update themselves and point to the static page’s new url.

In other words:

  1. Smart Links seek to return a link to the bookmark with the same name.
  2. When posts with the same title exist, Smart Links will point to the most recent post instead.
  3. When a static page with the same title exists, Smart Links will point to that static page instead.
  4. On the post or static page that is supposed to get linked to, smart links will try to fallback to a bookmark (there’s no point in linking a web page to itself).
  5. When all else fails, Smart Links return the link text with no link.

Got it all so far? Onto smart link domains.

Advanced Usage

Smart Link Domains

Domains are areas where smart links scan are for relevant pieces of information. By default, smart links looks all over the place. But you can restrict smart links to certain domains, by using the following syntax:

[link text->link @ domain]

Implicit links work here as well:

[roll over->@ dog tricks]

Built-in domains include those related to WordPress:

  • posts
  • pages
  • entries (posts and pages)
  • links
  • wp (all of the above = the default domain)

For instance, you could write:

[teach your puppy to sit->dog training tips @ pages]

The above smart link would get silenced until you create a dog training tips page.

Other built-in domains include:

  • google
  • yahoo
  • msn
  • wiki

These create outbound links to the search queries on google, yahoo, msn, and wikipedia respectively.

The last set of built-in domains is dynamic. They let you restrict smart links to a section on your site.

Smart Links understands sections as static pages with no parents. When you use a section domain, only links to static pages within that section will be returned.

On semiologic.com, for instance:

  • [services->@services] would point to the services section
  • [services->@members] would point to a services page of the members’ area

These dynamic domains become tremendously useful when you start having multiple static pages with the same name on your site. Or when you wish to fine-tune where the smart links are pointing.

Text-Rendering Engine Transparency

The smart link syntax is transparent to Markdown and Textile syntax, but will not allow html code within smart links.

Class Attribute

If you want to add a class="external" attribute to outbond smart links, you need to use the external links plugin.

Title Attribute

Smart links use the page title, post title, category name, and link name as relevant.

Smart Link And Comments

Smart links are disabled in comments, to prevent spammers from bypassing anti-spam plugins.

Escaping Smart Links

You can escape the smart link by putting it in between backticks (`), e.g.:

  • `[escape the link->]` outputs:

    [escape the link->]

The backticks will be "used up" when the smart links are processed.

Smart Link Greediness

The smart link syntax is not greedy, e.g.:

  • [test1 [test2->/] ->/] outputs:

    [test1 test2 ->/]

Smart Link Plugins

If you feel like coding, you can register new smart link domains, like this:

smart_links::register_engine($domain, $callback);

The expected signature of domain handling callback functions is the following:

domain_engine($link) returns $links
  • $links is an array($look_for => $found)
  • $look_for is the reference that is looked for
  • $found is of course initialized to false

Download

This package is part of Wordpress Plugin, and is access-restricted.

Smart Links v.4.2.2 (Jan 5th, 2010)

Requires WP 2.8. Tested up to 2.9.1.

Bleeding Edge Zip

Smart Links (Bleeding) v.4.2.2 (Jan 5th, 2010)

Requires WP 2.8. Tested up to 2.9.1.

Tagged with:
Feb 24

This relates to Fedora 10 and ISPConfig 3.0.1 set up as described in this HowtoForge post One of my colleagues recently got interested in offering our clients Wordpress as a content management system, so he’s been trying it out. Yesterday he found out that if he wanted to change the permalink style in Wordpress he needed write access to .htaccess, which he didn’t have because the user rights haven’t been set up very well there. So I gave him write access by using

chown daemon:daemon .htaccess

Unfortunately this resulted in a 500 Interal Server Error. Looking at the error log for the website I tried this for it let me know that RewriteEngine directives were not allowed in the .htaccess. Since I didn’t want to mess with the base configurations of ISPConfig I started looking around for other options. Eventually I found that I had to add something similar to this to the Apache directives field under options under the website’s settings

<IfModule mod_rewrite.c> <Directory /var/www/[sitename]/web/> Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </Directory> </IfModule>

Of course [sitename] should be replaced with the name of your website. It all works after I restarted the apache server myself, but I do not know if that is completely necessary. Also it might take a few seconds before ISPConfig finishes editing the configuration file.

Tagged with:
Jul 22

Ad blindness is a common problem, which makes your visitors ignore your similar looking and always single position google adsense ads. Adsense Injection wordpress plugin will let you insert ads randomly in your post, reduce ad blindness and increase clicks.

Earlier I had pointed to another excellent AdSense Deluxe WordPress Pluginthat lets you insert Google Adsense / Yahoo Ads into blog posts easily. But there were no random ads insertion and you decided where to insert the ads.

The new Adsense Injection wordpress plugin just takes a random paragraph break in your article and inserts google adsense code. It does one per story. It lets you pick how many total ads to do (0-3) and it lets you pick the formats and colors you want it to randomly select from. You can see it at work on their blog. A very good idea, but may cause ads to appear in funny places , especially if you use a lot of images in posts, as you have less control on ad placement now.

Now if you are looking out for Google Adsense Secrets, this is one of them.

Tagged with:
Jun 12

If your blog system is wordpress on apache, and you use rewrite rule for it. I’m looking for a way to implement WordPress’s simple htaccess pretty url rules for Nginx.

.htaccess file:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Fllow is my nginx’s rewrite rule for wordpress:
location / {
index index.php index.html;
if (!-e $request_filename)
{
rewrite ^/(.+)$ /index.php?p=$1 last;
}
}

Tagged with:
Jun 11

I’m very glad to wordpress 2.8 release publishd. You can download it from here.  Update your wordpress from 2.7 to 2.8 immediately. If you have any problem in upgrading, you can post message to my blog or send mail to me.(jason#goitworld.com). I will do best.

Major New Improvements

First and foremost, 2.8 is way faster to use. We’ve changed the way WordPress does style and scripting.

The core and plugin updaters in previous versions of WordPress have been such a success we decided to bring the same to themes. You can now browse the entire theme directory and install a theme with one click from the comfort of your WordPress dashboard.

If you make edits or tweaks to themes or plugins from your dashboard, you’ll appreciate the new CodePress editor which gives syntax highlighting to the previously-plain editor. Also there is now contextual documentation for the functions in the file you’re editing linked right below the editor.

If you were ever frustrated with widgets before, this release should be your savior. We’ve completely redesigned the widgets interface (which we didn’t have time to in 2.7) to allow you to do things like edit widgets on the fly, have multiple copies of the same widget, drag and drop widgets between sidebars, and save inactive widgets so you don’t lose all their settings. Developers now have access to a much cleaner and robust API for creating widgets as well.

Finally you should explore the new Screen Options on every page. It’s the tab in the top right. Now, for example, if you have a wide monitor you could set up your dashboard to have four columns of widgets instead of the two it has by default. On other pages you can change how many items show per page.

Tagged with:
Jun 04

Today, I find a very useful plugin of wordpress. It’s very great. You can hit here view demo. Hope it can be help you.

This plugin will create a Google sitemaps compliant XML-Sitemap of your WordPress blog. It supports all of the WordPress generated pages as well as custom ones. Everytime you edit or create a post, your sitemap is updated and all major search engines that support the sitemap protocol, like ASK.com, Google, MSN Search and YAHOO, are notified about the update.

Installation:

  • Upload the full directory into your wp-content/plugins directory
  • Use your favorite FTP program to create two files in your WordPress directory (that’s where the wp-config.php is) named sitemap.xml and sitemap.xml.gz and make them writable via CHMOD 666. More information about CHMOD and how to make files writable is available at the WordPress Codex and on stadtaus.com. Making your whole blog directory writable is NOT recommended anymore due to security reasons.
  • Activate the plugin at the plugin administration page
  • Open the plugin configuration page, which is located under Options -> XML-Sitemap and build the sitemap the first time. If you get a permission error, check the file permissions of the newly created files.
  • The plugin will automatically update your sitemap of you publish a post, so theres nothing more to do
  • Related Links:

    Tagged with:
    Jun 03

    I want upgrade to the wordpress relase Beta2 in tommorow. But I found the new version will be released in recent days, so you want to wait a few days.

    The release date for WordPress 2.8 has almost been confirmed, according to the latest blog post on the WordPress development blog, the target date for releasing WordPress 2.8 is June 10th.

    However this is only a target date and may not end up as being the release date in the end, however it would be good to see it released soon, considering the good number of features it has.

    If you haven’t yet gotten a chance to take a look or test out WordPress 2.8, take a look at the Hands-on Review of WordPress 2.8 we did earlier today.

    Tagged with:
    May 31

    Messenger – Messenger-ship-en.cab
    Mail – Mail-ship-en.cab
    Writer – writer-ship-en.cab
    SkyDrive 和 Photos Upload Tool – RichUpload-ship-en.cab
    Photo Gallery – PhotoLibrary-ship-en.cab
    Movie Maker – MovieMaker-ship-en.cab
    Toolbar – wltinstall-ship-en.cab
    Contacts – Contacts-ship-neutral.cab
    Sync – WindowsLiveSync-ship-en.cab
    Login Assistant – wllogin-ship-en.cab
    Outlook Connector – olc-ship-en.cab
    Spam Filter – SpamFilterData-ship-neutral.cab
    AllSetup – wlsetup-all.exe and wlsetup-web.exe

    Tagged with:
    May 24

    I find a plugin of wordpress. This plugin will create a Google sitemaps compliant XML-Sitemap of your WordPress blog. It supports all of the WordPress generated pages as well as custom ones. Everytime you edit or create a post, your sitemap is updated and all major search engines that support the sitemap protocol, like ASK.com, Google, MSN Search and YAHOO, are notified about the update.

    Related Links:

    Download Url
    http://downloads.wordpress.org/plugin/google-sitemap-generator.3.1.2.zip

    Install:

  • Upload the full directory into your wp-content/plugins directory
  • Use your favorite FTP program to create two files in your WordPress directory (that’s where the wp-config.php is) named sitemap.xml and sitemap.xml.gz and make them writable via CHMOD 666. More information about CHMOD and how to make files writable is available at the WordPress Codex and on stadtaus.com. Making your whole blog directory writable is NOT recommended anymore due to security reasons.
  • Activate the plugin at the plugin administration page
  • Open the plugin configuration page, which is located under Options -> XML-Sitemap and build the sitemap the first time. If you get a permission error, check the file permissions of the newly created files.
  • The plugin will automatically update your sitemap of you publish a post, so theres nothing more to do.

    If you have any problem about the plugin, you can post comment, I will do my best.

  • Tagged with:
    preload preload preload