Google Groups
Subscribe to Software Outsourcing [ Hire Dedicated Group ]
Email:
Visit this group

Monday, July 23, 2007

The New Rules of Marketing and PR (and SEO)

By Mike Grehan www.clickz.com

Google's steady rollout of universal search continues to fascinate and thrill me. It's the most exciting thing that's happened in search to date. The opportunities to make all manner of file types and media available to Google so it can provide the end searcher with a much richer experience in a combination of results is a major step forward.

In the not-too-distant future, however, it could cause a serious conflict for marketers. Increasingly, I see these multimedia results for queries appearing in the organic results. So what happens when I'm running a PPC (define) campaign, bidding on a keyword costing me anything from $0.25 to $25 a click on the right side of the page, while my competitor's video, podcast, blog images, and the like appear for free on the left?

I can't imagine any advertiser being thrilled about paying for a little blue box with a tiny amount of text, while his competitor has his promotional video pushing everything else on the page below the fold while it's playing right in the middle of the SERP (define).

A search for "dove beauty workshop" on Google brings the immensely popular Dove Evolution advert right to the top three results, just below Dove's own Campaign for Real Beauty site.

Click that video result and Dove entirely owns the organic side of the page. And with total views now somewhere in the millions, you could say it's a pretty popular result (if you haven't seen it, you must; it really is a thought-provoking ad).

In June, I saw a presentation by a Yahoo rep about the U.K. Panama rollout. I raised an eyebrow when I heard him say something along the lines of, "We could tie other results together with our paid results, such as video, news results, and other media." This was the same week Google announced universal search, by the way.

And I seem to remember a quote from Google's Marissa Mayer about how she thought Google's ads were also good content for the end searcher about the same time she announced universal search, though I'm a little hazy about that. (If you search for "marissa" on Google, you'll see a row of images of her at the top of the pile. Yes, she has her own universal result. Anyone know what's going on in the last pic?)

All this had me thinking it would be a logical move for search engines to actually switch the results around and have paid where organic used to be and vice versa. Crazy? Maybe.

But do a search at Google for "bourne ultimatum," and tell me that first paid result (clearly marked as a Google Promotion) is not on the left side.

There's a statistic I got from somewhere some time ago: only about 20 percent of searches are commercial. Yes, something like 80 percent of searches are informational/research type searches, such as this one for the "history of cookies." There's not a single ad in sight. You could surmise that those people making commercial searches are very happy to see commercial results. Perhaps even happier if they see them tied to video, blogs, podcasts, news, local, stock quotes, images, and the like.

And you could also surmise that people making those commercial/transactional type searches wouldn't be at all bothered if the usual list of 10 blue organic links appeared on the right side of the page.

Some of this may seem to SEO (define) purists a little as if I've going all heretic again (or whatever my detractors usually say). But it's not such a crazy notion as you may think. Or is it?

Maybe the rules could be about to change again, quite dramatically. Who knows?

I have a voracious appetite for books. And I'm very fortunate that I get many books sent to me for review, both on marketing and information retrieval. However, when you have up to 12 books at a time waiting to be reviewed, it's very difficult to know which to choose first.

One book that's been sitting on my desk waiting for my attention is David Meerman Scott's "The New Rules of Marketing and PR." And I feel very guilty for not picking it up sooner. For any search marketer scratching her head about how to deal with Google's universal search and anything else the search engines throw at us, this is the book for you.

With a forward by Robert Scoble, it's packed full of advice on how to use news releases, blogs, podcasting, and online media to reach buyers. I read it cover to cover. Somewhere in the middle, Scott declares (in case you hadn't figured it by then) that it's actually a book about search engine marketing.

If you're going to enter the arena of universal search, make sure you're armed with this book. In fact, I don't recommend that all search marketers read it. I almost insist.

Oh, and thanks to Jeff and Bryan Eisenberg for getting a mention and a link in the book for myself, Search Engine Round Table, and Crea8pc Usability.

Saturday, July 21, 2007

The PHP.net Google Summer of Code

Some Good News for PHP Community Are As Follow:


The PHP team is once again proud to participate in the Google Summer of Code. Seven students will "flip bits instead of burgers" this summer:

  • Mentored by Michael Wallner, Hannes Magnusson will work on LiveDocs, which is a "tool to display DocBook XML files in a web browser on the fly, without the need of building all HTML target files first". This project will be of great value to the PHP Documentation Team.
  • The PHP Interpreter uses reference counting to keep track of which objects are no longer referenced and thus can be destroyed. A major weakness in the current implementation is that it cannot detect reference cycles, that is objects that reference each other in a circular graph structure which is not referenced itself from outside the circle. Mentored by Derick Rethans, David Wang will implement a new reference counting algorithm that will alleviate this problem.
  • Xdebug provides a range of useful functionality for PHP developers, including detailed error information, code coverage and profiling support, and support for remote debugging using the GDB and DBGp protocols. Mentored by Xdebug's creator, Derick Rethans, Adam Harvey will develop a cross-platform GUI application that implements the DBGp protocol and allows PHP applications to be debugged using Xdebug in a development environment agnostic fashion.
  • Mentored by Lukas Smith, Konsta Vesterinen will work on the object-relational mapper Doctrine.
  • Mutation Testing, or Automated Error Seeding, is an approach where the testing tool makes some change to the tested code, runs the tests, and if the tests pass displays a message saying what it changed. This approach is different than code coverage analysis, because it can find code that is executed by the running of tests but not actually tested. Mentored by Sebastian Bergmann, Mike Lewis will implement Mutation Testing for PHPUnit.
  • Mentored by Helgi Þormar Þorbjörnsson, Igor Feghali will add support for foreign keys to MDB2_Schema, a package that "enables users to maintain RDBMS independant schema files in XML that can be used to create, alter and drop database entities and insert data into a database".
  • Mentored by David Coallier, Nicolas Bérard-Nault will refactor the internals of Jaws, a Framework and Content Management System for building dynamic web sites, for PHP 6.
Source: php

Friday, July 20, 2007

PHP 6 Overview

PHP 6, it seems, will make the leap and become a more clean environment - which is something I really appreciate.

The register_globals, magic_quotes and safe_mode will finally disappear and hopefully slowly fade away into distant memory. It seems PHP 6 will even refuse to start if these settings are found in php.ini. Dropping support for the long versions of super globals, like HTTP_POST_VARS, is also scheduled. This is long overdue.

One thing I at first was a bit hesitant to is moving all the database extensions out of the core into PECL. It looks like this is not set in stone and seems to be an ongoing discussion. After thinking about it myself I think it would be the right thing to do. It would boost the usage of PDO and make it more used and thus more mature. It would also clear up some of the confusion among newcomers in the PHP sphere. "Use PDO or make an active choice" - would probably be the best for the future of PHP.

SOAP is widely used today and good support for SOAP has been around as an extension you have to actively turn on if you needed it. It also has many limitations as has been discussed recently on the PECL-DEV mailing list. There is also a new PHP SOAP extension being developed that is using Apache Axis 2 from the Apache Foundation. I think what is suggested for PHP 6, to fix most of the remaining issues as well as implement support for some of the security extensions of SOAP, is the right way to go. I really think SOAP needs to be natively supported in PHP rather than having to depend on an external library as is the case with the Axis2 extension.

Named parameters to functions and methods has also been discussed. Even though I can remember how I enjoyed writing Smalltalk code with named parameters more than 10 years ago in university I don't think it should be implemented in PHP. Luckily those that decide on the roadmap thought the same as me.

Something that really annoys me today is that you can call methods both statically and dynamically whether they are marked static or not. It just doesn't make sense. This will in the yet distant PHP 6 generate an E_FATAL. Now that makes sense.

This above is all well but it is in the planned additions it gets really interesting. PHP 6 will have the opcode cache APC included in the core distribution. It will not be turned on by default - but I think this is the first small step towards a future with JIT compilation or something along those lines. Good UTF support is another thing that is sorely needed and it seems a lot of work will be directed to clean up the string handling in PHP 6.

Source: dotdavid.com

Drupal 7 and PHP

Article by PHP Open Source - PHP provides open source for the development.

----------------------

Drupal has long prided itself for staying ahead of the curve technologically. In order to be able to write the best quality Drupal software, Drupal developers need the best programming tools available. Today, the best PHP available is PHP 5.

PHP 5 has been deployed and tested in production environments for three years. Unfortunately, web hosts have been slow to adopt PHP 5, which has made it difficult for Drupal and many other PHP projects to fully embrace PHP 5's features.

Now a growing consortium of PHP projects have joined together and push for wider PHP 5 adoption. By all embracing PHP 5 together, the projects involved in the GoPHP 5 effort are sending a message to web hosts that it is time to embrace PHP's future.

Drupal is now part of that movement.

Drupal is such a powerfull opensource. It will be embaded now with php5. This new verson called Drupal 7 .

Drupal 7 is compitable with php5 or higher.

It was announced at drupal.org today, that Drupal 7 will be PHP 4 incompatible. This is a huge decision to take, since it will make it impossible for many to run Drupal 7.

By Offshore Software Development India - Php Development India
OffshoreSoftwareDevelopmentIndia.com

Search Engine Optimization - now you can check your website status

Search Engine Optimization Service, Now u can chaek you website popularity and site ranking is only ONE way to check your progress. Mentioned Here are some of useful Online tools to check your overall website branding.

Check alexa ranking - www.alexa.com
Alexa ranking is skewed in the sense that it is only restricted to people that have downloaded the alexa toolbar.
You can compare your blog’s popularity with three other websites

Check blog shares value - www.blogshares.com
Blogshares is a fantasy market where every blog is equivalent to a stock. Your blog may already be listed there. Check out the value there.

With out google toolbar check page rank for your site - pr.blogflux.com
If the site ranking is less than six, you got some work to do

Check Domain / Website Value - dnScoop.com attempts to estimate a value for an established website or a domain name by using factors such as: Links pointing to the domain, Popularity of the domain, Age of the domain, Pagerank of the domain, Traffic to the domain and Overall branding value.


By OffshoreSoftwareDevelopmentIndia.com
Offshore Software Development India is a software solution provider based in Ahmedabad, India. We offer IT services and solutions in the areas of Web Designing, Web Developing, E-Accounting, E-Business, Enterprise Application Integration, On-site Consulting, Customised Application Development, Offshore software development and Outsourcing.

Tuesday, July 17, 2007

Features of Web 3.0

Just in case you missed it, the web now has version numbers. Nearly three years ago, amid continued hand-wringing over the dot-com crash, a man named Dale Dougherty dreamed up something called Web 2.0, and the idea soon took on a life of its own. In the beginning, it was little more than a rallying cry, a belief that the Internet would rise again. But as Dougherty's O'Reilly Media put together the first Web 2.0 Conference in late 2005, the term seemed to trumpet a particular kind of online revolution, a World Wide Web of the people.

Web 2.0 came to describe almost any site, service, or technology that promoted sharing and collaboration right down to the Net's grass roots. That includes blogs and wikis, tags and RSS feeds, del.icio.us and Flickr, MySpace and YouTube. Because the concept blankets so many disparate ideas, some have questioned how meaningful—and how useful—it really is, but there's little doubt it owns a spot in our collective consciousness. Whether or not it makes sense, we now break the history of the Web into two distinct stages: Today we have Web 2.0, and before that there was Web 1.0.

Which raises the question: What will Web 3.0 look like?

Yes, it's too early to say for sure. In many ways, even Web 2.0 is a work in progress. But it goes without saying that new Net technologies are always under development—inside universities, think tanks, and big corporations, as much as Silicon Valley start-ups—and blogs are already abuzz with talk of the Web's next generation.

To many, Web 3.0 is something called the Semantic Web, a term coined by Tim Berners-Lee, the man who invented the (first) World Wide Web. In essence, the Semantic Web is a place where machines can read Web pages much as we humans read them, a place where search engines and software agents can better troll the Net and find what we're looking for. "It's a set of standards that turns the Web into one big database," says Nova Spivack, CEO of Radar Networks, one of the leading voices of this new-age Internet.

But some are skeptical about whether the Semantic Web—or at least, Berners-Lee's view of it—will actually take hold. They point to other technologies capable of reinventing the online world as we know it, from 3D virtual worlds to Web-connected bathroom mirrors. Web 3.0 could mean many things, and for Netheads, every single one is a breathtaking proposition.

Source

Offshore Software Development India (OSDI) venturing abroad.

After last year's success in Shipping Portal with shipping-exchange.com and Blog site of blogfreehere.com the IT Director of Offshore Software Development India (OSDI) visited Scotland, England and Wales recently for new projects. Offering a wide range of skills in IT Services. Mainly focusing in Business Process Outsourcing (BPO), Software Development, IT Consultancy, Web Designing / Web Development, Offshore Outsourcing, Multimedia, Customized Software Applications and Search Engine Optimization (SEO). Returning back last weekend back to Ahmedabad from UK the IT Director said to the staff we have new challenges to meet and much to deliver to the UK based customers.

Technology is a wide arena, like our outer space in the galaxy. Enormous potential lies and just companies like us, Offshore Software Development India (OSDI), and clients like you can explore its zenith. Since long the days of Stand-alone PC have gone and the WWW or World Wide Web or Internet as we all know, has conquered every PC, Server, Mobile and Laptop we use. Plenty to explore from Web Pages, Online News which use RSS feeds, Podcast and amazing YouTube.com has changed everything as far as online video is concerned. Imagine your website being one of millions website that sits on the .NET waiting to be explored. The hits on your website count. They generate business and inquiries. They would give you business and turnover which you have been waiting for. Offshore Software Development India (OSDI) can help you in your Website to succeed in this highly competitive market. Search Engine Optimisation is the way ahead.

Our Search Engine Optimisation service is the perfect fusion of linguistic skills, technical know-how and market sector research, blessed with a keen eye to customer needs. A business is only successful if the ROI is good. Hence we always say - "Deliver with Difference to Succeed" We are confident handling major technological brands. We understand what your brand means to you. We can work successfully with complex sites and diverse needs. We try to go that extra mile just for you.


We provide value for your money. Our Search Engine Optimisation service includes Keyword analysis, Solutions for non-search engine compatible sites, Competitor analysis, On-page optimisation, Deep site optimisation, Valuable link building, Brand protective approach, Solutions for catalogue sites, Fast, manual search engine submission, Optimisation for a re-brand, Position reporting and Page ranking improvement. We try to compete with the International Market of the Internet.


We are humble professionals so please ignore us if we are always on about your business needs. Our core expertise lie in few more areas of the IT sector like Web Development, Web Designing, Outsourcing Offshore Software Application Development, .Net Development using Microsoft, Shopping Cart/ E-store Development, Customer Relations Management Portal Development, Ecommerce Application Development, Auction Websites and Portals, Commerce Server based solutions, Content Management Systems (CMS) on the Web. Open Source is equally competitive solution we believe in Open Source Development. Services offered in this area could meet your needs for Web Applications / Application Re-designing, PHP Development (exploring the open source to enhance your business in turn lowering your maintenance cost), Joomla and Drupal based solutions which explore the Content Management Framework (CMF) Based Web solutions.


http://www.offshoresoftwaredevelopmentindia.com


We just like to share and update the world on our actions hence if you feel like trying us out why not contact us on info@offshoresoftwaredevelopmentindia.com or just call us on +91-79-65457841. We like to talk about your business needs and it is free

The 7 Essential Title Tag Strategies of High Ranking WebPages in 2007

Perhaps you remember the days when cutting-edge webpage design boasted animated gifs and focused on keyword density for top search engine rankings. These days, however, standard fare often combines flash animation with a heavy incoming link campaign. But through all the changes, one element remains constant—the importance of the HTML title tag. This little tag was, and still is, the single most important onpage element of high ranking webpages.

To lend perspective, let’s wander back for a moment to the late 90’s when all this SEO work really got started. The title tag was, to put it mildly, tantamount to success. At that time the immensely popular, but now-defunct, Infoseek search engine bestowed top rankings on pages with the highest number of keyword repetitions within the title. This foremost strategy, combined with page freshness, was key. Bear in mind that, at the time, Infoseek was king and Google didn’t even exist!

Many an SEO worked around the clock constantly reformatting and resubmitting pages to see what they could, frankly, get away with before Infoseek would finally ban the domain. In many cases the SEO would then just begin anew the whole trial-&-error, push-the-limits process with a new domain. Personally, I remember submitting pages with over 100k worth of text in the title tag—and then sat back and basked in the glow of success as my pages rocketed straight to the top in a mere 5 minutes after submitting them. Boy, was that fun!

Alas, such a simplistic approach to SEO didn’t last too long; the engines evolved, got much smarter and in turn, SEO work has proportionately increased in difficulty. But one thing that hasn’t changed, regardless of which search engine you’re targeting, is the importance of getting your title tags right. By the way, just to be sure we’re on the same page, a title tag looks like this…

Your Keywords Go Here

Title tags 2007

Today the title tag remains a critical component of top scoring webpages. While it’s true that inbound links can cause a webpage to rank very well even if the keyword is missing from the body of the page, you’ll seldom find a page without the keyword in the title tag that ranks highly for a competitive search.

These days, there persists both myths and confusion about the role the title tag actually plays within the ranking formulas. So, for that reason, let’s take a fresh look at what actually is helping pages score well in the year 2007.

Inside the membership area of SearchEngineNews.com, the rest of this article talks about how to optimize:

The 7 Essential Title Tag Strategies of Today’s High Ranking WebPages

Now that you know how important the title tag really is, you’ll want to incorporate these top seven strategies to allow your titles to work at maximum power, search-engine-wise…

1. Length of Your Title: When creating titles for your webpages, remember that anything more than…

2. Word Proximity: Search engines actually do pay attention to the distance between words for multiple keyword searches. For example, in a search for … a webpage title tag that contains … will typically hold a ranking advantage over another webpage with a title tag such as …

As for punctuation…

3. Keyword Location: As a general rule, the closer you place your keyword to the … the better the ranking advantage. However, bear in mind that we’ve seen … you can expect better results by placing your keywords …

4. Word Order: Consider the search dell computers. This will generate far different results than a search for … The search engines do pay attention to … so be sure to position them in the most likely order that …

However, be aware of the opportunities that …

5. Repetitions: Should you use the keyword more than once in the title? The answer is…

6. Titles for Human Consumption: There is one enduring constant of title tag content creation that must remain a top priority…

7. What Words to Use: By now it should be obvious that you should … We are still seeing many, many web sites that … And, that’s a huge mistake.

Now, if your site is guilty of committing this error, then you should probably jump up and down for joy! …Why? Because…

Remember that it isn’t difficult to …

And also be aware that your SE-knowledgable competitors will be rolling on the floor laughing if they ever see … as your webpage title within the search results—a mistake caused by neglecting …

How Each Specific Major Search Engine Utilizes the Title Tag

Considering how important the title tag is to your ranking success, let’s focus on the top three engines and break down exactly what they’re responding to in terms of high ranking title tags…

Google — Believe it or not, we’ve recorded Google indexing up to …

Also bear in mind that Google does not respond to …

Source by creeper-seo.com

Link to call me for free

I am using jaxtr, and if you also sign up, we can talk for free on the phone at any time.

-Paryank

P.S. Here is the link to sign up:
http://www.jaxtr.com/user/ticket?n=Twwez34hzo61u&type=joininvite

Delivered by jaxtr, Inc., 855 Oak Grove Avenue, Suite 100, Menlo Park, California 94025. Click here to stop receiving messages from this sender.

Monday, July 16, 2007

21 Things You Must Know About CakePHP

Easily creating static pages

I needed to create several pages that didn't use any models and contained static data inside the default layout. My first thought was to create a controller for these pages and define an action for each static page I needed. However, this solution seemed tedious and would make it difficult to quickly add new pages. Enter the pages controller - simply create a view inside the views/pages/ folder and it'll automatically be rendered in /pages. For example, if I created /views/pages/matt.thtml it would be accessible via http://www.example.com/pages/matt

Static pages - Adjusting the page title

If you're using the pages controller and you need to change the page title, add the following to your view:
<? $this->pageTitle = 'Title of your page.'; ?>

Static pages - Adjusting other data sent to the layout

If you need to send data to the layout (such as a variable indicating what section to highlight on the nav bar), add this to your view:

<? $this->_viewVars['somedata'] = array('some','data'); ?>

That array should then be accessible as $somedata inside your layout.

Creating a simple admin center

If you need to create an administrative back-end for your CakePHP site and would like all the actions with administrative capabilities to exist under a specific folder, open up config/core.php and uncomment:
define('CAKE_ADMIN', 'admin');
This will then make all actions that are prefixed with "admin_" to be accessible via:
/admin/yourcontroller/youraction. For instance, if I created an action in my posts controller called "admin_add," I would access this via: www.example.com/admin/posts/add
From there I could simply password the admin folder to prohibit unwanted users from adding posts.

Viewing the SQL queries that are running behind the scenes

You can easily see the SQL queries that CakePHP is running by adjusting the DEBUG constant in config/core.php. 0 is production, 1 is development, 2 is full debug with SQL, and 3 is full debug with SQL and dump of the current object. I typically have debug set at 2, which renders a table at the bottom of the page that contains SQL debug information.
If rendering a table at the bottom of your site is constantly breaking your layout during development (especially if you're making AJAX calls and you're getting SQL inside your pages, not just the bottom), you can easily style this table to be hidden by adding this to your CSS:
.cakeSqlLog { display: none; }
This will allow you to view debug information in the HTML source code without your layout getting mangled, just don't forget to set debug back to 0 when your site goes live.

Multiple sources of documentation

Don't just rely on the manual. The wiki and the API are invaluable sources of information. The tutorials in the wiki are especially useful, and the API may be daunting at first, but you'll quickly find the information in there is crucial to building a site with CakePHP.

Using bake.php

Bake is a command line PHP script that will automagically generate a model, controller, and views based on the design of your database. I highly recommend using scaffolding to get a prototype going of a table that may change a lot in the beginning. If you're fairly certain the data is not subject to any drastic change, I recommend using bake instead. With bake all the files are generated and written to disk and you can make modifications from there. It saves a lot of time doing the repetitive tasks such as creating associations, views, and the basic CRUD controller operations.
Using bake is really easy. Once you have a table(s) in your database created, change directories to the /cake/scripts/ folder and run:
php bake.php
If you choose to bake interactively it'll walk you through the steps required to create your model, controller, and views. Once everything has been baked I usually go through all the generated code and make custom modifications as needed.

Mind permissions when moving cake around

When I changed from the development server to the live server I tarred up my entire cake directory and scp'd it to the new server. Immediately I started having an issue where any time the debug level was set to 0 (production mode), data would not be returned for certain database calls. This was a bit of a catch 22 since I needed to view debug information to troubleshoot the problem.
Someone in #cakephp kindly pointed out that permissions on the /app/tmp folder need to be writeable by apache. I changed the permissions to 777 and the issue went away.

Complex model validation

I needed to validate beyond just checking to make sure a field wasn't empty or it matched a regular expression. In particular, I needed a way to verify that the email address users registered with was unique. In the wiki I found this gem: this advanced validation tutorial, which covers some advanced methods of validation that were very useful.

Logging errors

$this->log('Something broke');
This will log your error to /tmp/logs/ (I initially made the mistake of thinking it would log it to the apache error log)

Creating a controller that uses other models

Suppose you have a controller that needs data from a bunch of different models, simply add this to the top of your controller:
class yourController extends AppController
{
var $uses = array('Post','User');
}

This controller would then have access to both the Post and the User model.

Creating a model for a table that doesn't actually exist in the database

I needed a way to create a model and controller without actually having an associated table in the database. I particularly wanted to make use of the $validate array so I could easily validate my fields and keep the validation logic in the model. CakePHP will throw an error if you create a model for a table that doesn't exist. Adding this to the model fixed the problem:
var $useTable = false;
You can use this to change tables names as well.
var $useTable = 'some_table';

Call exit() after redirecting

This should be no surprise to anyone who has done any serious web development in the past, but make sure you call exit() after running $this->redirect() if there's code afterward that you don't want to run. I've always done this in the past, but I made the assumption that $this->redirect() would make an exit call for me (which it didn't).

Advanced model functions

Unless you delve in to the API, there are some very useful model functions at your disposal you might not know exist. I highly recommend reading over the Model Class Reference at least once. Here's a few key functions I wasn't aware of that I found to be very useful:

  • generateList() - I use this function primarily to populate select boxes with data from associated tables
  • findBySql() - Sometimes you just need to write your own SQL
  • findCount() - Returns number of rows matching given SQL condition
  • hasAny() - Returns true if a record that meets the given conditions exists.

Again, I highly recommend reading over the entire model class reference, you'll be surprised at what you learn.

Inserting multiple rows in succession

I had a situation where I needed to iterate through a list of items and insert new rows for each. I quickly discovered that if you insert an item and then immediately insert another, the item that is inserted next doesn't insert at all. Instead the previously inserted row was being updated. For example:
$items = array('Item 1','Item 2','Item 3');
foreach ($items as $item) {
  $this->Post->save(array('Post' => array('title' => $item)));
}

This code will result in a single entry in the posts table: "item 3." CakePHP inserted "item 1", but then updates it to become "item 2," then "item 3" because $this->Post->id gets the value of the last inserted ID. Normally this functionality is very useful, but in this particular instance it was not. I found was to setting $this->Post->id = false after each insert solved the problem.

Inserting logic before or after controller functions

Suppose you needed an array of colors to be available to every view rendered by your controller but you don't want to have to define this data in every action. Using the beforeRender() callback will allow you to do this:
function beforeRender() {
  $this->set('colors',array('red','blue','green');
}

This would make $colors accessible in every view rendered by that controller. beforeRender() is called after the controller logic and just before a view is rendered.
There's also beforeFilter() and afterFilter(), which are called before and after every controller action. For more information, read up on callbacks in the models section of the manual.

Adding a WYSIWYG editor to CakePHP

I found this great tutorial on getting TinyMCE set up with CakePHP. Basically you just link the tiny_mce .js file to your page and then add a small bit of init code to every page that you want textareas to be converted into TinyMCE editors.

Writing your own SQL for HABTM relationships

I had an issue with trying to create a HABTM (has-and-belongs-to-many) relationship where I needed to specify my own SQL statement. According to the docs (at the time of this writing) you should set finderSql in your model, but according to the cakePHP source you should set finderQuery instead. It's just a foul-up in the docs, but I figured it'd be worth noting to save others from having to figure it out for themselves. Trac ticket here: https://trac.cakephp.org/ticket/1217

Sending email

I found two tutorials in the wiki: Sending email and Sending email with PHPMailer
I highly recommend the latter of the two, sending emails with PHPMailer is more secure and there's less of a headache because you don't have to deal with constructing the mail headers yourself.

Customizing HTML generated by the Helper

I needed to change the default <option> generated when I called $html->selectTag() to say something like "Please Select" rather than an empty space (default). I also wanted radio buttons to have labels so the user doesn't have to click exactly on the radio button itself but can instead click anywhere on the text associated with it.
Create the file /app/config/tags.ini.php and add the following:
; Tag template for a input type='radio' tag.
radio = "<input type="radio" name="data[%s][%s]" id="%s" %s /><label for="%3$s">%s</label>"
; Tag template for an empty select option tag.
selectempty = "<option value="" %s>-- Please Select --</option>"

You can get a full list of available tags in /cake/config/tags.ini.php. I wouldn't recommend modifying that file, however, because you could lose your changes when you upgrade CakePHP.

Creating a custom 404 error page

If you need to change the page that users see when a document is not found, create:
/app/views/errors/error404.thtml



source

Saturday, July 14, 2007

Ten Tips to the Top of the Search Engines

Having a website that gets found in Google, Yahoo, and MSN, etc. isn't hard to do, but it can be difficult to know where to begin. Here are my latest and greatest tips to get you started:

Do not purchase a new domain unless you have to. Due to Google's aging delay for all new domains, your best bet is to use your existing domain/website if at all possible. If you're redesigning or starting from scratch and you have to use a brand-new domain for some reason, you can expect to wait a good 9-12 months before your site will show up in Google for any keyword phrases that are important to you.


Optimize your site for your target audience, not for the search engines. This may sound counterintuitive, but hear me out. The search engines are looking for pages that best fit the keyword phrase someone types into their little search box. If those "someones" are typing in search words that relate to what your site offers, then they are most likely members of your target audience. You need to optimize your site to meet *their* needs. If you don't know who your target audience is, then you need to find out one way or another. Look for studies online that might provide demographic information, and visit other sites, communities, or forums where your target audience might hang out and listen to what they discuss. This information will be crucial to your resulting website design, keyword research, and copywriting.


Research your keyword phrases extensively. The phrases you think your target market might be searching for may very well be incorrect. To find the optimal phrases to optimize for, use research tools such as KeywordDiscovery, Wordtracker, Google AdWords, and Yahoo Search Marketing data. Compile lists of the most relevant phrases for your site, and choose a few different ones for every page. Never shoot for general keywords such as "travel" or "vacation," as they are rarely (if ever) indicative of what your site is really about.


Design and categorize your site architecture and navigation based on your keyword research. Your research may uncover undiscovered areas of interest or ways of categorizing your products/services that you may wish to add to your site. For instance, let's say your site sells toys. There are numerous ways you could categorize and lay out your site so that people will find the toys they're looking for. Are people looking for toys to fit their child's stage of development? (Look for keyword phrases such as "preschool toys.") Or are they more likely to be seeking specific brands of toys? Most likely, your keyword research will show you that people are looking for toys in many different ways. Your job is to make sure that your site's navigation showcases the various ways of searching. Make sure you have links to specific-brand pages as well as specific age ranges, specific types of toys, etc.


Program your site to be "crawler-friendly." The search engines can't fill out forms, can't search your site, can't read JavaScript links and menus, and can't interpret graphics and Flash. This doesn't mean that you can't use these things on your site; you most certainly can! However, you do need to provide alternate means of navigating your site as necessary. If you have only a drop-down sequence of menus to choose a category or a brand of something, the search engine crawlers will never find those resulting pages. You'll need to make sure that you always have some form of HTML links in the main navigation on every page which link to the top-level pages of your site. From those pages, you'll need to have further HTML links to the individual product/service pages. (Please note that HTML links do NOT have to be text-only links. There's nothing wrong with graphical image navigation that is wrapped in standard tags, as the search engines can follow image links just fine.)


Label your internal text links and clickable image alt attributes (aka alt tags) as clearly and descriptively as possible. Your site visitors and the search engines look at the clickable portion of your links (aka the anchor text) to help them understand what they're going to find once they click through. Don't make them guess what's at the other end with links that say "click here" or other non-descriptive words. Be as descriptive as possible with every text and graphical link on your site. The cool thing about writing your anchor text and alt attributes to be descriptive is that you can almost always describe the page you're pointing to by using its main keyword phrase.


Write compelling copy for the key pages of your site based on your chosen keyword phrases and your target market's needs, and make sure it's copy that the search engines can "see." This is a crucial component to having a successful website. The search engines need to read keyword-rich copy on your pages so they can understand how to classify your site. This copy shouldn't be buried in graphics or hidden in Flash. Write your copy based on your most relevant keyword phrases while also making an emotional connection with your site visitor. (This is where that target audience analysis comes in handy!) Understand that there is no magical number of words per page or number of times to use your phrases in your copy. The important thing is to use your keyword phrases only when and where it makes sense to do so for the real people reading your pages. Simply sticking keyword phrases at the top of the page for no apparent reason isn't going to cut it, and it just looks silly. (Purchase and read our Copywriting Combo for exact tips on how to implement this correctly.)


Incorporate your keyword phrases into each page's unique Title tag. Title tags are critical because they're given a lot of weight with every search engine. Whatever keyword phrases you've written your copy around should also be used in your Title tag. Remember that the information that you place in this tag is what will show up as the clickable link to your site at the search engines. Make sure that it accurately reflects the content of the page it's on, while also using the keyword phrases people might be using at a search engine to find your stuff.


Make sure your site is "link-worthy." Other sites linking to yours is a critical component of a successful search engine optimization campaign, as all of the major search engines place a good deal of emphasis on your site's overall link popularity. You can go out and request hundreds or thousands of links, but if your site stinks, why would anyone want to link to it? On the other hand, if your site is full of wonderful, useful information, other sites will naturally link to it without your even asking. It's fine to trade links; just make sure you are providing your site visitors with only the highest quality of related sites. When you link to lousy sites, keep in mind what this says to your site visitors as well as to the search engines.


Don't be married to any one keyword phrase or worried too much about rankings. If you've done the above 9 things correctly, you will start to see an increase in targeted search engine visitors to your site fairly quickly. Forget about where you rank for any specific keyword phrase and instead measure your results in increased traffic, sales, and conversions. (You can sign up for a free trial of ClickTracks, which easily tracks and measures those things that truly matter.) It certainly won't hurt to add new content to your site if it will really make your site more useful, but don't simply add a load of fluff just for the sake of adding something. It really is okay to have a business site that is just a business site and not a diatribe on the history of your products. Neither your site visitors nor the engines really give a hoot!

source by highrankings.com/tentips.htm

Are PHP programmers more aware of SEO than ASP coders

Are PHP programmers more aware of SEO than ASP coders
Google's new Code Search engine allows webmasters, programmers and script kiddies to dig up helpfully commented source code. But are there a few surprises in the Code Search results?

Google Code Search offers a powerful tool that the search engine's main interface does not allow. In Google Code Search you can search using regular expressions. For those who aren't familiar with the term, regular expressions (often referred to as 'regex') are pattern matching techniques used to determine whether a string contains a sub-string or predicted pattern.

A visit to Google Code Search and a search for SEO turns up 300,000 results but the results are full of inaccurate matches. With this search we do not just find results for 'SEO' but for 'onMouseOut', 'req_caseopt', etc, and other words which contain the letters 'seo'.

The Advanced Code Search offering is an easier window for regular expression matching. Google supports POSIX extended regular express syntax and also the well known Perl extensions. All it takes is one of the Perl extensions and the 'SEO' search can be fine tuned. Searching for /sseo/s asks Google Code Search to look for those code snippets where there is a non-word character on either side of 'seo'. This non-word character is likely to be a space. It is also possible to restrict searches by case, but a non-sensitive search is best here.

A Google Code Search for /sseo/s turns up 200 results. Some of these results are not about search engine optimization either - but some are.

One possible analysis of these 200 results is to go back to the Advanced Code Search page and begin to restrict our Google queries by language type. For example, if we add "ASP" to the Language option we restrict our Code Search to ASP scripts which mention SEO.

There are only four results.

If we change our language from ASP to PHP we discover there are 200 results. In Google's Code Search index there are more PHP scripts which mention SEO than there are ASP scripts which mention SEO.

There are 200 "SEO" results overall, 4 "SEO" results for ASP and 200 "SEO" results for PHP and 1 SEO result for JavaScript. The math does not add up. Google's "Results 1 - x of y" comment is an estimate only. It is useful in search engine optimization to give you a flavour of trends and of how Google views your site but it is not a scientific measurement.

Other search engine optimization "keywords" produce other interesting results in Google's Code Search:

* There are 3,000 results for JavaScript snippets which include the word 'click', 20,900 'click' results for PHP and 1,000 for ASP.

* There are 50 results for 'Google' on ASP searches, 38,100 matches for 'Google' on PHP searches and only 200 matches for ‘Google' in JavaScript searches.

* There are 234,000 matches for a digg search. Could this mean that Digg is more popular than Google?


Google's Code Search is a useful tool for webmasters and its results are clearly very different from the main Google engine. It is easier to notice the peculiarities in the results when working with the smaller index size, but that does not prevent the results from being helpful.

So, are PHP programmers more SEO savvy than ASP programmers? The answer is probably not; PHP programmers may simply be better at documenting their code, or Google may have more PHP scripts in their code index.

Let's be diplomatic and say the score's a draw.

Source by seoseonews.com

Konica Minolta Opens Software Development Center in India through Partnership Agreement with HCL Technologies

Tokyo, Japan - The Konica Minolta Group (TSE: 4902) opened an offshore development center in India today under a partnership agreement concluded with HCL Technologies Ltd. (HCLT), a leading Indian IT service provider.The expansion of the network environment and diversification of applications have led to an increase in the number and kinds of software applications necessary for the development of multi function peripherals (MFPs) and printers, major products of Konica Minolta's core office equipment business. The increase is almost equal to that of cellular phones and digital home appliances, and it is likely to continue rising at an annual rate of about 50%. In the light of this, Konica Minolta has been exploring the commencement of offshore software development to ensure a stable supply of software development resources.This is one of the important group-wide management issues of its medium-term business plan, "FORWARD 08."India is renowned worldwide for its ability to develop quality software products and HCLT, in particular, boasts a wealth of experience in developing software products for a number of major U.S. and European companies. Konica Minolta, highly valuing the technical excellence and management skills of HCLT, has been outsourcing HCLT to develop software for its medical systems over the past years, and a relationship of trust has been built between the two companies since then. Because of this, HCLT was Konica Minolta's top candidate for partnership as it explored the possibility of offshore software development. Under the partnership agreement, Konica Minolta's offshore development center has been built within HCLT site. In the beginning, the center is staffed with about 50 workers, but that number will be increased to 240 or so by the end of FY2008.The offshore development center will work on the development of application software for MFPs and printers, development tools for customization, and software to be built in computed radiography?Konica Minolta's major medical product.Meanwhile, Konica Minolta will focus most of its domestic development resources to the development of its core technologies, such as image processing technology, Konica Minolta's proprietary technology that cannot be outsourced, as well as basic product functions. In so doing, the company aims to enhance its core technologies and accelerate the development of new products that incorporate those technologies.The expansion of the scope of software development requires increased man-hours for quality assessment of software products. To ensure a stable supply of resources for the quality assessment process, in May of this year, Konica Minolta established a wholly-owned software quality assessment company in Dalian, China, which will start operations by the end of July.Through this new three-pillar structure -- development of core technologies in Japan, development of application software in India, and quality assessment in China, Konica Minolta will improve the quality and efficiency of software development and accelerate the development process, thereby further strengthening its business structure.

About HCL Technologies Ltd.
Head Office : Noida, India
Establishment : November, 1991
Chairman and CEO : Shiv Nadar
President : Vineet Nayar
Employees : 40,149 (as of March, 2007)
Annual Sale : US$1,270 million
(Last twelve months (LTM) ended March 31, 2007)
Business : Software Development Services (74%)
IT Infrastructure Services (13%)
BPO Services (13%)
Website : www.hcltech.com

About Konica Minolta Holdings
Konica Corporation and Minolta Co., Ltd. integrated their respective managements and established a holding company, Konica Minolta Holdings, Inc., in August 2003. The new company represents an organic union of the revolutionary technologies long accumulated by the two companies, centering on a comprehensive imaging business - from input to output. Moreover, the Konica Minolta Group is pursuing growth by leveraging collective Group resources in the two major business domains of equipment and services, and components. The Group has annual sales of more than 1 trillion yen, conducts business operations in approximately 40 nations worldwide and has approximately 32,000 employees. For more information, please visit www.konicaminolta.com Contact: Konica Minolta Holdings, Inc.

Corporate Communications
Tel: +81-3-6250-2011
Fax: +81-3-3218-1362


Source by japancorp.net

Friday, July 13, 2007

Go PHP 5 - Major PHP Projects and Web Hosts agrees to go for PHP 5

Support GoPHP5.org PHP 4 has served the web developer community for seven years now, and served it well. However, it also shows its age. Most of PHP 4's shortcomings have been addressed by PHP 5, released three years ago, but the transition from PHP 4 to PHP 5 has been slow for a number of reasons.

PHP developers cannot leverage PHP 5's full potential without dropping support for PHP 4, but PHP 4 is still installed on a majority of shared web hosts and users would then be forced to switch to a different application. Web hosts cannot upgrade their servers to PHP 5 without making it impossible for their users to run PHP 4-targeted web apps, and have no incentive to go to the effort of testing and deploying PHP 5 while most web apps are still compatible with PHP 4 and the PHP development team still provides maintenance support for PHP 4. The PHP development team, of course, can't drop maintenance support for PHP 4 while most web hosts still run PHP 4.

It is a dangerous cycle, and one that needs to be broken. The PHP developer community has decided that it is indeed now time to move forward, together. Therefore, many popular software projects like Drupal, phpMyAdmin, phpPgAdmin, Propel, Symfony, Typo3 etc. have all agreed that effective February 5th, 2008, any new feature releases will have a minimum version requirement of at least PHP 5.2.0. Furthermore, the listed web hosts have agreed that effective February 5th, 2008, they will include PHP 5.2 (or a more recent version) in their service offer.

It is our belief that this will provide web hosts reason to upgrade and the PHP development team the ability to retire PHP 4 and focus efforts on PHP 5 and the forthcoming PHP 6, all without penalizing any existing project for being "first out of the gate".

Source

Thursday, July 12, 2007

About Drupal

Drupal is a free software package that allows an individual or a community of users to easily publish, manage and organize a wide variety of content on a website. Tens of thousands of people and organizations have used Drupal to power scores of different web sites, including

  • Community web portals
  • Discussion sites
  • Corporate web sites
  • Intranet applications
  • Personal web sites or blogs
  • Aficionado sites
  • E-commerce applications
  • Resource directories
  • Social Networking sites

Drupal is ready to go from the moment you download it. It even has an easy-to-use web installer! The built-in functionality, combined with dozens of freely available add-on modules, will enable features such as:

  • Content Management Systems
  • Blogs
  • Collaborative authoring environments
  • Forums
  • Peer-to-peer networking
  • Newsletters
  • Podcasting
  • Picture galleries
  • File uploads and downloads

and much more.

Drupal is open-source software distributed under the GPL ("General Public License") and is maintained and developed by a community of thousands of users and developers. Drupal is free to download and use. If you like what Drupal promises for you, please work with us to expand and refine Drupal to suit your specific needs.

Source: Aout Drupal

Wednesday, July 11, 2007

Core Module For Drupal

The pages below give help for the modules that come with Drupal. When you install Drupal, these modules are automatically installed. To make use of a module, first make sure it's enabled at administer >> site building >> modules. (Some modules automatically are.) Then set the right permissions for it at administer >> user management >> access control.

You can further extend the features of Drupal by using "contributed modules." A list of help pages for contributed modules is available at the contributed modules page.

If you would like to add a module help page, follow the authoring guidelines. The site maintainers can create and update pages for you.

Source: Core Module For Drupal

DIY Web Design

Adam Trickett talks about setting up and running your own web server and creating content for it. This is a beginner level talk



Tuesday, July 10, 2007

5 useful SEO Tips

Internet Marketing is a term that is used when we want more people to know more about your site or your business. This is where Search Engine Optimization(SEO) comes up. If your site is not working out well or your site isn't working out as well as you expected, I have 5 useful SEO tips to give that are always overlooked.

Title tags - Title tags say a lot about a page. It might tell about the content of the page. It might also tell you what a particular page does. It is important that you write a very informative title for every page in your website.

H tags - They are particularly important because H tags are used on very important words. Use them carefully and use them only on the important keywords.

Anchor Links - We often see sites with links like "click here" and "go now". Anchor link texts should be very descriptive of where the site is going where the site is going to.

Alt tags - An image alt tag is something that is usually forgotten when writing a page. It does more than just telling what the particular image. It also tells something of what the page is all about.Page names - Also an important aspect of SEO. You sometimes see pages that uses "this-is-the-page-name.html" file names.

Monday, July 9, 2007

Sending XML files to a Webservice (Using cURL)

Calling Web Services. Great fun!! … when it works. One of the biggest challenges is to send the XML document and get the response back, an XML document in particular. I have come up with a PHP function that hides all the necessary logic from theuser and handles the posting of the XML document and returns whatever the server responds. It relies on PHP’s cURL library (so you need it properly configured on your server in order to work). All you need to do is create the XML document, choose the URL (and port) to which you want to post the XML document and the function takes care of the rest. Below is the function code. As you can see, the function can handle SSL-enabled servers, something that provides a great advantage, since many Web services run on HTTPS.

// open a http channel, transmit data and return received buffer
function xml_post($post_xml, $url, $port)
{
$user_agent = $_SERVER[’HTTP_USER_AGENT’];
$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL, $url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1); // Fail on errors
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_PORT, $port); //Set the port number
curl_setopt($ch, CURLOPT_TIMEOUT, 15); // times out after 15s
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_xml); // add POST fields
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
if($port==443)
{
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}

The example below shows how the function works, by posting a XML document of the form

<?xml version=”1.0″ encoding=”iso-8859-1″?>

<Document> 

  <Message> 

     Your Name  

  </Message>

</Document>

to a “listener” script, which takes the XML document and returns a reply (another XML document). In this case, the listener is very simple. All it does is replace the “Message” tag with “Reply” and print the resulting XML. Of course, the listener can do all sorts of things in response to the POST.

<?php 

   if ( !isset( $HTTP_RAW_POST_DATA ) )

   {

      $HTTP_RAW_POST_DATA = file_get_contents( ‘php://input’ ); 

   } 

   $xml = str_replace(”Message”,”Reply” , $HTTP_RAW_POST_DATA);  


   print((trim($xml)));

?>




You can download the function code, as well as a working example here. Let me know what you think.

Source

Friday, July 6, 2007

Keyword Strategies for SEO

Keywords, although they oftentimes receive too much emphasis by so-called “experts”, are still an integral part of your overall search engine optimization strategy. Today, we will look at defining the proper keywords for your site and then we will look at putting them into use.Identifying the Keywords You Will Use

The first step is to identify the keywords you will use. Obviously, these will relate in some fashion to your website’s overall purpose. You must be careful, however, not to be too broad in the keywords you choose to use.

As an illustration in this article, let’s say that you run an e-commerce shop that offers novel, up-scale pet supplies and toys. The following keywords would make good choices for your site:

* “pet toys”

* “pet supplies”

* “expensive pet toys”

* “up-scale pet toys”

* “expensive pet supplies”

* “upscale pet supplies”

The following keywords/phrases would not make good choices for your site:

* “expensive novel up-scale pet toys and supplies”

* “online shopping pet supplies toys expensive up-scale upscale”

There is one simple, basic strategy to use when choosing keywords, and here it is: Choose the shortest amount of words in each keyword and keyword phrase that convey what your website does, while using natural, grammatically correct language. Remember that although someone using Google may use the search string “online shopping pet supplies toys expensive up-scale upscale”, you should not use this on your site, as it is not grammatically correct, and would not be understood be real, live people visiting your site.

So the first step is to sit down and identify no more than five to ten (at the most) simple keywords and short keyword phrases that identify the subject matter of your website.

Putting the Keywords into Use

The next step is applying the keywords and keyword phrases you have developed by using them on your site.

Again, there is one big rule here, and it is closely related to the strategy used in developing your keywords: Ensure that your keywords are arranged intelligently on your site so that they are readable by your website visitors and are grammatically correct. As was touched on in the preceding section, this is what the real, live visitors to your website will see, so you want to make sure that they can understand what they are seeing.

For each keyword you have developed, it is recommended that you use it at least five times on each page of your site. Find blocks of text on each page in your site where it makes sense to insert your keywords and keyword phrases. The more, the merrier! (As long as they follow the rules outlined in this article - no blending in with the background, etc.

Finally, one might wish to use search engine optimization tools, such as these, that help you nail down your SEO strategy and are especially good for narrowing your keyword focus.

As you can see, the concept of keywords is pretty simple. It is the implementation of your keyword strategy that can make the difference! About the author
Daniel J. Briere is the CEO of Netpreneur Host, a Web hosting and domain registration company for Webmasters and Internet entrepreneurs.

Source by creeper-seo.com

Three types of email marketing and More

There are basically three types of email marketing:

1) opt-in email marketing

2) house list email marketing

3) bulk spam.Opt-In email Marketing:

Opt-In email Marketing:Opt-in email marketing works like this. There are various web sites and companies that compile lists of email addresses of people who are interested in receiving information on a particular topic. The people on a given list have chosen to be on that list – they have “opted in.” Let’s say for instance that there is an opt-in list for people who are interested in golf products (and there are many such lists available). The people who have opted in on that list WANT to receive email about golf products. They have opted in with the understanding that they will receive such email, and they have the option to opt-out at any time.

So the owners of that golf opt-in email list will rent the list out to companies that have golf related products for sale, like golf clubs and other equipment, instructional videos, books and so on.

There are hundreds of opt-in lists available, with people who have opted-in to receive information on various topics, to receive newsletters, etc.

House List Email Marketing: Companies who sell products and services will collect the email addresses of customers and prospects. This is called a “house email list”, and is made up of people who have had some contact with the company and who usually have given their permission to receive information from that company.

Companies will send various email campaigns out to their house lists, notifying people about new products and services, special deals, special offerings to customers only, special events, etc.

Bulk Spam: Although there is some debate and variance of opinion on what constitutes “spam”, for our purposes we will define “bulk spam” as promotional email that is sent out to large lists made up of addresses of people who have not agreed to be on any opt-in or house list.

Most Internet Service Providers (ISPs) such as Earthlink and others, will try to prevent people from sending out bulk spam from their servers, and many will terminate the email account of anyone caught sending out large amounts of bulk spam.

A Major Change in Email Marketing

There has been a dramatic change in the email marketing field over the last two years.

The change has been brought about by an incredible over-saturation of promotional email being sent out to people who have not opted-in to receive it – in short – “bulk spam.” You’ve seen the emails for mortgage refinancing, for Viagra and other drugs, for drugs that purport to enhance parts of one’s anatomy or improve one’s sex life, offers of discount software, free iPods, pornography, the list goes on and on.

The problem with the vast majority of bulk spammers is that they do not follow practices that have evolved as accepted practices amongst legitimate email marketers, most of which are now Federal law under the CAN-SPAM act (see end of this chapter for an analysis of CAN-SPAM). The two most egregious violations that are made routinely by vast numbers of spammers are: 1) not allowing the recipient to opt-out of future mailings (or pretending to have an opt-out mechanism but not really taking people off their lists), and 2) having deceptive subject lines in their emails. Both are now violations of US Federal law.

Unfortunately, the result of the incredible avalanche of bulk spam, and the routine violations of laws mentioned above, is that opt-in email, once a great way to make money (and one of the authors has used this medium to make millions of dollars for clients) is now for all intents and purposes - dead. People are receiving too much bulk spam to pay attention to any type of unsolicited email – they just hit the delete button. This is a shame but it’s the reality.

The Good News

Now that we’ve given you all the bad news, here is the good news. There are still some specific uses where email marketing is quite effective:

a. House List Email Marketing: Email marketing to a house list is extremely effective, even given the saturation problems today. People are used to receiving email from the companies that they do business with, and they are generally interested in and accepting of special offers, discounts, new products, customer service and tech support type traffic.

So building a house email list is extremely effective, extremely profitable (costs to send to it are negligible, especially in the beginning), and the larger your house list becomes, the more valuable an asset it is to your company.

More Information / Source by creeper-seo.com

Wednesday, July 4, 2007

Google's Fresh Crawl explained

Google does two types of crawl:- the main crawl and the fresh crawl. The main crawl is done once a month; the fresh crawl is done more-or-less daily, but only some pages are crawled. Google is still experimenting with which sites and pages to crawl and how deep to crawl. Neither type of crawl puts any new pages into Google's main index. That only happens at the next update - at the conclusion of the next Google Dance. Fresh crawls can be distinguished from main crawls by the IP addresses used by Googlebot. Fresh crawl: 64.68.82...; Main crawl: 216.239.46...

The fresh crawl recrawls pages that are already in the index, picking up new pages along the way. Fresh-crawled new pages are evaluated in some way and inserted into the search results straight away, which means that new pages can be found by surfers almost immediately, even though they are not yet in Google's main index. A new page can be added to a site today and traffic could start arriving on it within hours.

Also, updated pages that are already in Google's main index, are re-evaluated in some way and inserted into the search results in places that reflect the changes. E.g. the day after the link to this site's SEO Copywriting page was placed on the index page, the index page showed up at #3 for the search term "seo copywriting". The index page was well established in Google's main index, but the SEO copywriting part of it was new, and was given the "fresh" treatment. Very soon after that, the SEO copywriting page itself was 'fresh' ranked at #1.

This is good news for surfers and webmasters, although some websites can suffer for a while due to fresh-crawled new pages pushing them down the rankings.

In practise, many new fresh-crawled pages enjoy a flury of traffic while they are not in the main index. When they have been included in the main index, they take their place in the rankings according to their evaluated merit, and the traffic tends to be reduced unless the page actually merits its 'fresh' ranking, of course.

At the time of writing, the fresh crawl is still new, but my theory of the experience of a new page is this:-

Sometime during a month, the new page is found by Google and fresh-crawled. It is evaluated in some way and placed in a 'fresh' index. From there it is inserted into the rankings, according to its 'fresh' evaluation.

The page is involved in the next end-of-month dance but, because it hasn't yet been main-crawled, it isn't included in the actual update and isn't placed in the main index. It continues to be a 'fresh' page.

Then the main crawl gets underway. If the page still exists, it is crawled and will be included in the following update, when it will enter the main index. During this period, it may keep the 'fresh' ranking that it achieved provided that other new pages don't come along to push it down. It is only after the page enters the main index that it's true ranking is seen.

Because of the page's revised evaluation when entering the main index, traffic from it is likely to drop. That's assuming that the page didn't really merit its 'fresh' ranking.

It should be noted that Google is continually updating the rankings and 'fresh' rankings are very volatile in that they come, go and change during a page's 'fresh' period.

As I said, the fresh crawl is still quite new and not yet fully understood. The experience of a new page from fresh crawl to main index is what I believe I have observed, but my conclusions could easily be wrong. The reason I believe that new pages don't enter the main index until the dance and update after they have been main-crawled, even though they have usually been involved in one dance, is because Google still shows no links to them until after the update following their first main crawl. This is my theory of a new page's experience but, like any theory, it may need to be revised in the light of new observations.

Addendum

As of the New Year 2003 update, Google is applying Toolbar PR0 (zero PageRank) values to some new pages. PR0 normally indicates that a page has been penalized, but these PR0s are not penalties. From my observations, it appears that the values apply to pages that have been fresh-crawled and have gone through an update following the fresh-crawl. Such pages don't get into the main index until after they have been main-crawled and gone through the update after that. It appears that, between the two updates, Google applies PR0 to the pages.

The reason for it may be to do with how Google inserts 'fresh' pages into the rankings or it may be for some other reason entirely. Also, it may be that different PR values are applied to different pages, but it is brand new and, as yet, I have seen only PR0 values applied.

Source

What is SEO Copywriting?

SEO Copywriting, or to give it its full name, search engine optimization copywriting or search engine copywriting, is the technique of writing the viewable text on a web page in such a way that it reads well for the surfer, and also targets specific search terms. Its purpose is to rank highly in the search engines for the targeted search terms.

As well as the viewable text, SEO Copywriting usually optimizes other on-page elements for the targeted search terms. These include the Title, Description and Keywords tags, headings and alt text.

The idea behind SEO Copywriting is that search engines want genuine content pages and not additional pages (often called "doorway pages") that are created for the sole purpose of achieving high rankings. Therefore, the engines cannot possibly view SEO copywritten pages as undesirable, and the rankings they achieve tend to be as stable as those that are achieved by other search engine optimization techniques.

Practitioners of the search engine copywriting method recommend around 250 viewable words per page, with one, or at most two, targeted search terms strategically placed within the text and other on-page elements.


SEO Copywriting strengths

One thing that can be said about search engine optimization copywriting is that works for suitable websites and for suitable search terms (see below). SEO Copywriting can achieve rankings that tend to do well across the search engines, although no page can do equally well in all engines.

It is sometimes said by practioners of search engine optimization copywriting, that the method tends to maintain its rankings as the engines tweak and change their algorithms, whereas other methods produce less stable rankings. This can't be true. If 2 pages are in the top 10 search results; one getting there by the SEO copywriting method and the other by different search engine optimization techniques, they are both there because they match the engine's criteria (algorithm) quite well. When the criteria is changed, the match that each of them had is necessarily changed. The matches could become closer to, or further from, the engine's criteria. Whether each page goes up or down in the results depends on what changes have been made to the engine's criteria. It is a matter of chance, and not a matter of whether SEO copywriting was used or not.


SEO Copywriting weaknesses

  • Competitive search terms
    The technique only works for search terms that are not particularly competitive. Competitive search terms are those where many people are trying very hard to gain the top rankings for their sites. Casino, sex, insurance, health and hotels sites are among the most competitive, and there are many other topics where people fight for rankings. For medium to highly competitive search terms, other, more vigorous, methods are needed.

  • Suitable sites
    Not all websites are suitable for SEO Copywriting. Many simply don't have sufficient text on their pages, and adding text would spoil the design or nature of the sites. Also, some sites that do have sufficient text sometimes don't want to be forced into changing what is written on the pages, just for the sake of the search engines.

  • Cost, and the limitation of targeted search terms
    SEO Copywriting is a time-consuming process, and professional SEO copywriters are not cheap, therefore the cost of each page is significant. Since each page can target only one or two search terms, it would usually require a good number of pages to be made-over in order to target all the required search terms.

  • Tied to a copywriter
    What happens when a website owner finds it necessary to alter the text on a page that has been worked on by a professional SEO copywriter? It can't be done without either ruining the costly SEO work and, with it, the page's rankings, or re-hiring a professional copywriter to redo the work once the changes have been made.

  • Slipping in the rankings
    If a page is successfully optimized by SEO Copywriting, and is ranked in the top 10 search results for its targeted search term, then the optimization was worth the cost. But what happens when someone else decides to optimize a page from a different website for the same search term? If their optimization technique is successful, and the page gets into the top 10, the #10 page will slip to #11 - and off the first page of results. Then suppose another website does the same thing...and another...and another. Sooner or later, the successful page will slip from the first page of search results. As soon as people decide to optimize their pages for the chosen search terms, existing top 10 pages are on the way down. Then what?

    If the sliding pages were professionally SEO copywritten, there is nothing else that the technique can do for them, or if it can, the whole costly copywriting process must be redone. Adding one or two instances of the target search terms isn't merely a case of typing them in somewhere, because the final text still needs to read well for the site visitors. Again, the website owner is tied to a copywriter.


    Summary

    SEO Copywriting is good when:-

    • there are not many search terms to target
    • the search terms are on the low to middle end of competitiveness
    • money isn't a problem, or if it is your own website
    • you don't mind the text on your pages being frozen (if money does matter)
    Otherwise, 'search engine friendly' techniques should always be done as a first measure, and real search engine optimization should be done for the search terms for which 'search engine friendly' techniques are unsuccessful.

  • More Information: webworkshop.net

    What is PageRank?

    PageRank is a numeric value that represents how important a page is on the web. Google figures that when one page links to another page, it is effectively casting a vote for the other page. The more votes that are cast for a page, the more important the page must be. Also, the importance of the page that is casting the vote determines how important the vote itself is. Google calculates a page's importance from the votes cast for it. How important each vote is is taken into account when a page's PageRank is calculated.
    PageRank is Google's way of deciding a page's importance. It matters because it is one of the factors that determines a page's ranking in the search results. It isn't the only factor that Google uses to rank pages, but it is an important one.

    From here on in, we'll occasionally refer to PageRank as "PR".

    Notes:
    Not all links are counted by Google. For instance, they filter out links from known link farms. Some links can cause a site to be penalized by Google. They rightly figure that webmasters cannot control which sites link to their sites, but they can control which sites they link out to. For this reason, links into a site cannot harm the site, but links from a site can be harmful if they link to penalized sites. So be careful which sites you link to. If a site has PR0, it is usually a penalty, and it would be unwise to link to it.

    How is PageRank calculated?

    To calculate the PageRank for a page, all of its inbound links are taken into account. These are links from within the site and links from outside the site.

    PR(A) = (1-d) + d(PR(t1)/C(t1) + ... + PR(tn)/C(tn))

    That's the equation that calculates a page's PageRank. It's the original one that was published when PageRank was being developed, and it is probable that Google uses a variation of it but they aren't telling us what it is. It doesn't matter though, as this equation is good enough.

    In the equation 't1 - tn' are pages linking to page A, 'C' is the number of outbound links that a page has and 'd' is a damping factor, usually set to 0.85.

    We can think of it in a simpler way:-

    a page's PageRank = 0.15 + 0.85 * (a "share" of the PageRank of every page that links to it)

    "share" = the linking page's PageRank divided by the number of outbound links on the page.

    A page "votes" an amount of PageRank onto each page that it links to. The amount of PageRank that it has to vote with is a little less than its own PageRank value (its own value * 0.85). This value is shared equally between all the pages that it links to.

    From this, we could conclude that a link from a page with PR4 and 5 outbound links is worth more than a link from a page with PR8 and 100 outbound links. The PageRank of a page that links to yours is important but the number of links on that page is also important. The more links there are on a page, the less PageRank value your page will receive from it.

    If the PageRank value differences between PR1, PR2,.....PR10 were equal then that conclusion would hold up, but many people believe that the values between PR1 and PR10 (the maximum) are set on a logarithmic scale, and there is very good reason for believing it. Nobody outside Google knows for sure one way or the other, but the chances are high that the scale is logarithmic, or similar. If so, it means that it takes a lot more additional PageRank for a page to move up to the next PageRank level that it did to move up from the previous PageRank level. The result is that it reverses the previous conclusion, so that a link from a PR8 page that has lots of outbound links is worth more than a link from a PR4 page that has only a few outbound links.

    Whichever scale Google uses, we can be sure of one thing. A link from another site increases our site's PageRank. Just remember to avoid links from link farms.

    Note that when a page votes its PageRank value to other pages, its own PageRank is not reduced by the value that it is voting. The page doing the voting doesn't give away its PageRank and end up with nothing. It isn't a transfer of PageRank. It is simply a vote according to the page's PageRank value. It's like a shareholders meeting where each shareholder votes according to the number of shares held, but the shares themselves aren't given away. Even so, pages do lose some PageRank indirectly, as we'll see later.

    Ok so far? Good. Now we'll look at how the calculations are actually done.

    For a page's calculation, its existing PageRank (if it has any) is abandoned completely and a fresh calculation is done where the page relies solely on the PageRank "voted" for it by its current inbound links, which may have changed since the last time the page's PageRank was calculated.

    The equation shows clearly how a page's PageRank is arrived at. But what isn't immediately obvious is that it can't work if the calculation is done just once. Suppose we have 2 pages, A and B, which link to each other, and neither have any other links of any kind. This is what happens:-

    Step 1: Calculate page A's PageRank from the value of its inbound links

    Page A now has a new PageRank value. The calculation used the value of the inbound link from page B. But page B has an inbound link (from page A) and its new PageRank value hasn't been worked out yet, so page A's new PageRank value is based on inaccurate data and can't be accurate.

    Step 2: Calculate page B's PageRank from the value of its inbound links

    Page B now has a new PageRank value, but it can't be accurate because the calculation used the new PageRank value of the inbound link from page A, which is inaccurate.

    It's a Catch 22 situation. We can't work out A's PageRank until we know B's PageRank, and we can't work out B's PageRank until we know A's PageRank.

    Now that both pages have newly calculated PageRank values, can't we just run the calculations again to arrive at accurate values? No. We can run the calculations again using the new values and the results will be more accurate, but we will always be using inaccurate values for the calculations, so the results will always be inaccurate.

    The problem is overcome by repeating the calculations many times. Each time produces slightly more accurate values. In fact, total accuracy can never be achieved because the calculations are always based on inaccurate values. 40 to 50 iterations are sufficient to reach a point where any further iterations wouldn't produce enough of a change to the values to matter. This is precisiely what Google does at each update, and it's the reason why the updates take so long.

    One thing to bear in mind is that the results we get from the calculations are proportions. The figures must then be set against a scale (known only to Google) to arrive at each page's actual PageRank. Even so, we can use the calculations to channel the PageRank within a site around its pages so that certain pages receive a higher proportion of it than others.

    more information