Basecamp 3 API PHP Connection Class

Below is the connection class I have written for pulling Basecamp 3 API data using PHP. This is a Laravel class, but you can use the code in any PHP app with some tweaks. I am still working on it, but this is what I have so far. I have implemented caching using ETag, but not Last-Modified yet. It also implements pagination.

<?php namespace App\Services;

use App\BasecampTokens;
use App\BcProject;
use App\BcResponse;
use App\BcTodolist;
use League\OAuth2\Client\Provider\GenericProvider;
use GuzzleHttp\Client;
use League\OAuth2\Client\Token\AccessToken;
use Redirect;
use Session;
use DB;

class BasecampService
    var $provider = null;
    var $response = null;
    var $uri = null;
    var $responseHeaders = null;
    var $allObjects;
    var $httpCache = [];
    var $firstTime = true;
    var $baseUri = null;
    var $userAgent;

    public function __construct()
        $this->provider = new GenericProvider([
            'clientId' => env('basecamp_client_id'),    // The client ID assigned to you by the provider
            'clientSecret' => env('basecamp_client_secret'),   // The client password assigned to you by the provider
            'redirectUri' => url('basecamp/getToken'),
            'urlAuthorize' => '',
            'urlAccessToken' => '',
            'urlResourceOwnerDetails' => ''
        $this->baseUri = '';
        $this->userAgent = ' (';

    public function parseResponse()
        $this->responseBody = json_decode($this->response->getBody());
        $this->responseHeaders = $this->response->getHeaders();

        if (isset($this->responseHeaders['X-Total-Count'])) {
            $this->responseTotalCount = $this->responseHeaders['X-Total-Count'][0];

        if (isset($this->responseHeaders['Link'])) {
            $this->responseLink = $this->responseHeaders['Link'][0];
        } else {
            $this->responseLink = null;

        if (isset($this->responseHeaders['X-Ratelimit'])) {
            $this->responseRateLimit = $this->responseHeaders['X-Ratelimit'][0];

        if (isset($this->responseHeaders['ETag'])) {
            $this->responseEtag = $this->responseHeaders['ETag'][0];

    public function initiateBasecampConnection()
        $this->_client = new Client([
            'base_uri' => $this->baseUri

        $headers = ['headers' => [
            'User-Agent' => $this->userAgent,
            "Authorization" => "Bearer " . $this->getAccessToken(),
        if ($this->firstTime == true) {
            $bcResponse = BcResponse::where('link', $this->uri)->first();
        } else {
            $bcResponse = BcResponse::where('link', $this->responseLink)->first();
        if ($bcResponse instanceof BcResponse) {
            $eTag = $bcResponse->etag;
        } else {
            $eTag = null;

        $LastModified = null;

        $httpCache = [
            'If-None-Match' => $eTag, //ETag
            'If-Modified-Since' => $LastModified //Last-Modified

        if ($httpCache['If-None-Match'] != null) {
            $headers['headers']['If-None-Match'] = $httpCache['If-None-Match'];
        if ($httpCache['If-Modified-Since'] != null) {
            $headers['headers']['If-Modified-Since'] = $httpCache['If-Modified-Since'];

        try {
            $this->response = $this->_client->request(

        } catch (ClientException $e) {

    public function getAllRecords()
        $this->allObjects = [];
        do {
            if ($this->response->getStatusCode() == 304) {
                //This is for caching
            } else {
                if ($this->response->getStatusCode() == 429) {
                $this->allObjects = array_merge($this->allObjects, $this->responseBody);
            if (isset($this->responseLink)) {
                $regex = '#<(.*?)>#';
                preg_match($regex, $this->responseLink, $matches);
                $this->uri = $matches[1];
        } while (isset($this->responseLink));

    public function saveResponse()
        $bcResponse = BcResponse::where('link', $this->uri)->first();
        if (!$bcResponse instanceof BcResponse) {
            $bcResponse = new BcResponse();
        $bcResponse->link = $this->uri;
        $bcResponse->etag = $this->responseEtag;

    public function getTodolists()
        $allBasecampProjects = BcProject::all();
        foreach($allBasecampProjects as $bcProject){
            $todoSetId = $bcProject->todoset_id;
            $bucketId = $bcProject->bc_id;
            $this->uri = ''.$bucketId.'/todosets/'.$todoSetId.'/todolists.json';
            foreach($this->allObjects as $todolist){
                $bcTodolist = BcTodolist::where('bc_todolist_id', $todolist->id)->first();
                if (!$bcTodolist instanceof BcTodolist) {
                    $bcTodolist = new BcTodolist();
                $bcTodolist->bc_todolist_id = $todolist->id;
                $bcTodolist->bc_status = $todolist->status;
                $bcTodolist->bc_name = $todolist->name;
                $bcTodolist->bc_description = $todolist->description;
                $bcTodolist->bc_todoset_id = $todolist->parent->id;
                $bcTodolist->bc_project_id = $todolist->bucket->id;
                $bcTodolist->bc_app_url = $todolist->app_url;
                $bcTodolist->bc_url = $todolist->url;
                $bcTodolist->bc_completed_ratio = $todolist->completed_ratio;
                $bcTodolist->bc_completed = $todolist->completed;

    public function getBasecamps()

//        dd($eTag);
//        $eTag = 'W/"3fc3c26a37d4f474bb120d6164dcadbd"';
        $this->uri = '';

        foreach ($this->allObjects as $bcProject) {
            $dbBcproject = BcProject::where('bc_id', $bcProject->id)->first();
            if (!$dbBcproject instanceof BcProject) {
                $dbBcproject = new BcProject();
            $dbBcproject->bc_id = $bcProject->id;
            $dbBcproject->bc_status = $bcProject->status;
            $dbBcproject->bc_name = $bcProject->name;
            $dbBcproject->bc_description = $bcProject->description;
            $dbBcproject->bc_purpose = $bcProject->purpose;
            $dbBcproject->bc_bookmark_url = $bcProject->bookmark_url;
            $dbBcproject->bc_url = $bcProject->url;
            $dbBcproject->bc_app_url = $bcProject->app_url;
            $dbBcproject->todoset_id = $bcProject->dock[2]->id;


    public function getAccessToken()
        $basecamp_token = DB::table('basecamp_tokens')
            ->orderBy('id', 'desc')->first();

        $basecamp_token = json_decode(json_encode($basecamp_token), true);

        $existingAccessToken = new AccessToken($basecamp_token);

        if ($existingAccessToken->hasExpired()) {
            $newAccessToken = $this->provider->getAccessToken('refresh_token', [
                'refresh_token' => $existingAccessToken->getRefreshToken()
            // Purge old access token and store new access token to your data store.
            $basecampToken = new BasecampTokens();
            $basecampToken->access_token = $newAccessToken->getToken();
            $basecampToken->refresh_token = $newAccessToken->getRefreshToken();
            $basecampToken->expires = $newAccessToken->getExpires();

            $existingAccessToken = $newAccessToken;

            Session::flash('message', 'Got token from basecamp');

        return $existingAccessToken;

    function getToken()
// If we don't have an authorization code then get one
        if (!isset($_GET['code'])) {

            // Fetch the authorization URL from the provider; this returns the
            // urlAuthorize option and generates and applies any necessary parameters
            // (e.g. state).
            $options = ['type' => 'web_server'];

            $authorizationUrl = $this->provider->getAuthorizationUrl($options);

            // Get the state generated for you and store it to the session.
            $_SESSION['oauth2state'] = $this->provider->getState();

            // Redirect the user to the authorization URL.
            header('Location: ' . $authorizationUrl);

// Check given state against previously stored one to mitigate CSRF attack
//        } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {
//            unset($_SESSION['oauth2state']);
//            exit('Invalid state');

        } else {

            try {

                // Try to get an access token using the authorization code grant.
                $accessToken = $this->provider->getAccessToken('authorization_code', [
                    'code' => $_GET['code'],
                    'type' => 'web_server'

                // We have an access token, which we may use in authenticated
                // requests against the service provider's API.
                $basecampToken = new BasecampTokens();
//                echo $accessToken->getToken() . "\n";
                $basecampToken->access_token = $accessToken->getToken();
//                echo $accessToken->getRefreshToken() . "\n";
                $basecampToken->refresh_token = $accessToken->getRefreshToken();
//                echo $accessToken->getExpires() . "\n";
                $basecampToken->expires = $accessToken->getExpires();
//                echo ($accessToken->hasExpired() ? 'expired' : 'not expired') . "\n";

                Session::flash('message', 'Got token from basecamp');

                // Using the access token, we may look up details about the
                // resource owner.
//                $resourceOwner = $this->provider->getResourceOwner($accessToken);
//                var_export($resourceOwner->toArray());
//                // The provider provides a way to get an authenticated API request for
//                // the service, using the access token; it returns an object conforming
//                // to Psr\Http\Message\RequestInterface.
//                $request = $this->provider->getAuthenticatedRequest(
//                    'GET',
//                    '',
//                    $accessToken
//                );

            } catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) {

                // Failed to get the access token or user details.
                Session::flash('message', $e->getMessage());



5 Key SEO Metrics

metric - seo agency los angeles.jpg

It is true that keywords remain an important part of any SEO strategy. A search engine’s chief function is to pair its user’s search query, or an inputted keyword or phrase, with the most relevant website. However, keywords are only part of the puzzle; a modern search engine algorithm figures many factors in when retrieving results. Besides, what good is reaching the top of the rankings if you aren’t making any sales? Our SEO agency Los Angeles operations always address a number of aspects simultaneously when we carry out a campaign for our client.  Let’s go over 5 key SEO metrics that are important to any campaign.

1. Keywords

Getting to the top of the search engine rankings for a given keyword or phrase does help. Combined with other important tactics, it is good to research the keywords your target demographic is using and go after the keyword rankings that are going to bring in traffic and benefit your business. However, keep in mind that there are many other things you should be doing than ranking high with your chosen keywords.

2. Links

Links are important to any SEO strategy, and we regularly seek to build them up in our SEO agency Los Angeles efforts. However, there are frequent misconceptions concerning links and their use. Desirable links should be working for your website, not against it. That means quality links that are relevant to your material, which will actually bring in traffic. Gone are the days when you can purchase a ton of links, pack your site full of keywords, and watch your site rocket to the top of the search results. Search engines will now penalize websites that build up links to low quality sites of dubious relevance.

Today it is important to carefully build solid, quality links from sites that are reputable and useful themselves. Make sure to take special care in your link building efforts or you may end up frustrating your own project.

3. Site Traffic

Traffic is another important metric. Smart keyword research and link building SEO strategy will bring in plenty of traffic: a large portion of shoppers around the world use search engines heavily to look up information and find products and services. There are other ways to bring in traffic as well, such as with email marketing, pay per click ads, and more traditional means of marketing such as radio spots and TV ads.

Traffic isn’t going to do you much good if your site isn’t delivering the goods though. If your visitors are coming to your site and don’t find what they are looking for, or don’t like what they see, or become lost or frustrated, they’re not going to buy anything. Our SEO agency Los Angeles campaigns emphasize rich content, smart site organization, and rigorous conversion testing on top of traffic driving methods to ensure better outcomes.

shop - seo agency los angeles.jpg

4. Conversions

Whether your goal is to make a sale, acquire a lead, or have a visitor contact you, you are looking to maximize conversions on your website. Plus, search algorithms factor into conversions on your website for rankings. As explained above, this is done independent of merely attracting traffic. You may be able to attract visitors to your website, but will they stay? Will they perform the actions that you want them to?

This is where good content, quality web design, smart organization, and conversion testing come into play. Are your call to actions working as they should? Is it easy to place an order? Are visitors finding what they are looking for? Think about these questions when you are looking to optimize your conversion rate.

5. Total Revenue

Perhaps one of the most important factors in our SEO agency Los Angeles campaigns is the amount of incoming revenue in proportion to costs. Every successful SEO campaign should amount to profits above and beyond the costs that go in, which is of course obvious to any business owner. However, it is important to revisit the revenue metric again and again to make sure the SEO campaign is worth the effort.

Hire a Professional

Each of these metrics is necessary in itself, but it takes all of them working together to really make a good SEO campaign. For the best results and the highest return on your investment, hire a professional. Coalition Technologies is one of the top SEO firms in the industry. Our SEO agency Los Angeles campaigns seek to maximize not just common, superficial SEO metrics, but all of the metrics necessary to a client’s success, especially in terms of the profits a client is taking in as a result of the campaign. Give us a call today at 1-888-652-0637 and get a free quote.


6 SEO Fundamentals Your E-Commerce Business Might Be Missing

bigcommerce seo company.jpg

BigCommerce is one of the most powerful ecommerce platforms in the industry; the program can definitely help you build a fantastic store with relative ease. Your online store isn’t going to be very useful if you don’t have any visitors making purchases, however. Here are 6 SEO fundamentals that our BigCommerce SEO company regularly uses to bring in the big traffic.

1. Use Schemas contains a collection of schemas, or html tags which are used to markup your web site. These markups are recognized by search engines and help improve the search result displays so that search engine users can more easily find pages they are looking for on your site. Google especially emphasizes schema use, so this measure is essential to your SEO efforts.

2. Use Simple Site Structuring

An important part of search engine ranking algorithms consists of what your visitors are actually doing when they get to your website. As part of optimizing your conversions and keeping visitors on your site – and returning to your site – you should keep your site structuring as simple as possible and easy to navigate. This means using logical and appropriate category trees that make site navigation a snap. One example is offering all of your categories on a sidebar in a menu that persists wherever the visitor goes, which preferably expands and collapses based on where the shopper wants to go.

When our BigCommerce SEO company designs a shopping cart, we aren’t only interested in aesthetics, though a nice-looking site helps. We also want to make sure the browsing and shopping experience is as intuitive and pleasurable as possible so as to encourage return visits and conversions. Search engines keep track of this stuff.

3. Use Simple Keyword URLs

When you create your URLs, you want to think about how they are going to be read by the search engine. For best results, simple URLs that have your domain and then the page they are referring to is the best way to go. Make sure to use keywords where you can. When creating a URL like this, avoid stop words and query strings, and use dashes when you have two or more words after the domain. For example: “” or “” for category pages, and then “” for the actual product page. Try to have only one URL for each product page to avoid duplicate content.

4. Canonical Tags

If you are using customized URLs with query strings or other tools like internal referral parameters for analytics, or multiple URLs for a single page, it helps to set up unified canonical tags to make your URL structures easier on search engines. Some ecommerce platforms do this automatically for you. Our BigCommerce SEO company regularly checks for canonical tags as a matter of principle.

5. Category Structure, Naming, and Tags

It’s worth repeating that your page categories should be simplified and easy to navigate for the user. Try getting in as many keywords as possible when you are naming your categories, and think about what the customer is looking. This also helps your SEO when you go to individual products. When you are naming your products, use the specific model of the product as well as the category it is part of. For example: Sony Walkman MP3 Player. Your title tags and H1 tags should match the name of your category pages.

6. Create Unique Product Descriptions

Each of your products should have a unique description that is not duplicated on other pages or on other websites. So if you have a product on your manufacturer page, it should have a different description than the same product if it is featured on a retailer or affiliate site. Our BigCommerce SEO company also makes sure to write rich descriptions for each of the products. We write feature lists, benefits, specifications, and anything else that is useful to the shopper.

Think of what would be enticing to the kind of shopper you are looking to attract. Avoid short generic descriptions. Search engines are looking for rich, quality content.

pro - bigcommerce seo company.jpgHire a Professional

These 6 SEO fundamentals should help you refine your online store to appeal to search engines and improve the usability of your website. This will help your website rank higher on search engines, resulting in more traffic and conversions and thus even higher rankings. It is all self-reinforcing. Keep in mind though that many competent web designers are going to be using these tricks. If you really want to stay ahead of the competition, hire a professional to design and optimize your online store for SEO. Coalition Technologies has extensive experience with the BigCommerce platform, as well as SEO marketing. Our BigCommerce SEO company can design you the ultimate online store and get you high search engine rankings in the process. Give us a call at 1-888-652-0637 and get a free quote.

Protecting Your Website from Negative SEO

spam - los angeles seo agency.jpg

The SEO world is always changing, often in exciting and interesting ways, but sometimes change can break about less desirable things in the process. Google has been leading the way with innovative algorithm changes which seek to provide their users with a more intuitive and useful search experience, largely stamping out an early generation of black hat SEO practitioners who used less savory methods to game search engine algorithms. However, a new manipulative SEO technique has emerged to get around this, and it is called “negative SEO.” Negative SEO is a potential nightmare for any Los Angeles SEO agency or business, but there are ways to protect yourself from the practice’s more insidious effects. Here is how.

1. Set up email alerts with Google’s Webmaster Tools

The first thing you need to do about combating negative SEO is to know when it is happening. Using Google’s Webmaster Tools, set up email alerts. You will be notified when your pages aren’t indexed, when you are being attacked by malware, when you are having connectivity problems, when you are penalized by Google, and etc. Email alerts can be found in the “Webmaster Tools Preferences” if you’ve connected your site to Webmaster Tools.

2. Monitor your backlinks

One of the primary weapons of negative SEO is to build up bad backlinks to your website and remove the good backlinks. One of the first things a Los Angeles SEO agency will do when addressing negative SEO is take a look at the backlinks. It is a good idea to constantly monitor the backlinks created to your site, and check them out to make sure they are legitimate. If you find a bad backlink, try to contact the webmaster to have your site removed. If you find that a good backlink was removed – someone contacted the good webmaster with your name and asked them to remove your site – see about contacting the good webmaster and having your site put back up.

3. Watch out for malware and hackersdata - los angeles seo agency.jpg

Another negative SEO tactic is directly hacking your site or attacking it with malware. There are ways to guard against this. Make sure you have an exceptionally strong password, and backup your data regularly. If you are using a blogging platform like Blogger or WordPress, look into some sort of reinforced authentication process to get into your account. WordPress has a useful Google Authenticator Plugin for just this kind of thing.

4. Keep an eye out for duplicates

Another tool in the negative SEO arsenal is content duplication. Spammers can copy your website’s content and post it all over the Internet, which often results in search engine penalties. There are tools out there to check out whether copies of your site are being posted anywhere.

 5. Track your mentions in social media

Every Los Angeles SEO agency knows the importance of social media in today’s SEO world. Unfortunately, negative SEO spammers know this too. Attackers can set up fake accounts with your name and wreak all sorts of havoc in the social media sphere. Luckily, there are tools available to track your social media mentions so you can keep an eye on what is being done to your company’s name.

6. Monitor your website speed

Yet another negative SEO method is spamming your server with requests, which can slow down your site or even mess up your server. What’s worse, this sort of activity can be penalized by search engines too. Make sure you keep track of your server speed and contact your host for help if you experience any unusual server activity.

7. Stay on the level

For some marketers and site owners, it is possible to become one’s own worst enemy. There are some SEO tactics that you should try to avoid, such as linking to bad websites, buying links, spamming your blog with low-quality/keyword-stuffed posts, and selling links. Also, when you build backlinks, you can use keywords but don’t overdo it. Make sure you are using your actual website name frequently. SEO tactics like these are often penalized by search engines.

Also, take care not to burn bridges with clients, employees, and partners. Some negative SEO attackers are motivated by competitive pressures, and others are motivated by grudges. Sometimes conflicts and disputes are impossible to avoid, but if you can help it, do your best to tread carefully in the online and offline public space.

8. Address search engine penalties

There is a last-resort measure you can take if you’ve tried all of these tactics and you are still getting penalized by Google for reasons you don’t understand. Submit a disavow list to Google that addresses any penalties that you feel are unearned.

9. Hire a Los Angeles SEO agency

These tactics should all help you better navigate the SEO world and protect against most negative SEO attacks if they happen. However sometimes it is better to leave things to an SEO professional. Coalition Technologies has extensive experience in both administering effective SEO and marketing campaigns, as well as addressing negative problems with services like reputation management and protection against negative SEO attacks. Our SEO agency has the technical knowledge and expertise to deal with the most sophisticated attacks. Give us a call today at 1-888-652-0637 and get a free quote.

Google Penguin Penalty – SEO Repair Team

Penguins are majestic, docile creatures that touch our hearts with their unspeakable beauty and unparalleled grace of movement. But Google Penguin is a fierce, horrifying beast which crushes our souls with its merciless wrath and and unforgiving nature. It’s not much of a stretch to suspect that Google Penguin was named after the cruel and cunning criminal from the Batman saga, because if your website has fallen prey to this villainous search engine algorithm, you understand firsthand just how unfair the Gotham City of CyberSpace can actually be. I started Coalition Technologies over 5 years ago in order to help businesses to rise above these very hurdles, and since its inception, my company has worked miracles in restoring the rankings and reputations of leading companies the world over.

The Penguin is Up to His Old Tricks

For those unaware, Google Penguin refers to a series of algorithm updates that served to penalize websites which engage in practices contrary to Google’s Terms of Use, particularly questionable linking practices. First unveiled on April 24, 2012, Google Penguin caught many businesses and webmasters by surprise, and many are still struggling to repair the damage. Whereas the previous and corresponding series of algorithm updates (known as Panda) focused on user experience, Penguin zeroed in on blackhat SEO manipulation. In other words, if you try to bolster your search engine rankings with unnatural linking practices, you just might become the Penguin’s next victim.

The Hummingbird Connection 

To complicate matters even more, Google enhanced its link penalty campaign with the Hummingbird algorithm change. The reason I mention this is because many people think they’re dealing with a Penguin penalty when in fact they have fallen victim to the Hummingbird-era Manual Spam Action, whereby a manual Google review results in a devastating Google de-indexing purge. “The Hummingbird” might not sound like the name of a dastardly comic book villain, but in the world of SEO, the Hummingbird is far more nefarious than the Penguin. Unfortunately, it’s becoming increasingly difficult to determine the source of individual Google penalties, since there are multiple possibilities. If you want to turn the tide and restore your rankings, you need to not only determine the motivation behind your traffic drop, but also the solution.

Don’t Fight the Battle Alone

Whether your site is suffering due to a Google Penguin Penalty, a Hummingbird penalty or even a Panda penalty, Coalition Technologies can help. Call us for a free quote at (877) 989-7187 and we’ll share with you our processes, our history and our success stories, and we’ll lay out a plan to resurrect your business from the digital ashes. We know what it takes to determine the root cause and forge the ideal solution, and we look forward to working with you. Call us today.

Magento WordPress Integration

As an ecommerce platform and content management system, Magento is world renowned for its reliability, flexibility, ease of use, cost and customer service. Perhaps that’s why nearly 1 percent of websites in the entire world use Magento (according to a November 2013 estimate by W3Techs). As the founder of a leading Los Angeles Magento services firm, I have been actively using and marveling at Magento since its initial release in 2008, but even I’ll admit that the platform is far from perfect. Case in point: wonky WordPress integration. If you want to incorporate a WordPress blog into your Magento website, or if you want to move your Magento store onto an existing WordPress theme, things can get a bit tricky.

So the question is, how do you unite Magento and WordPress in holy matrimony while still maintaining a single, fluid website?

Moving Magento Into WordPress

Many Web developers and webmasters are now taking it upon themselves to run their Magento stores on WordPress. They want the shopping cart features afforded by Magento, but they prefer the CMS simplicity of WordPress. That’s all well and good, but you must proceed with caution. For starters, this approach may handicap your ability to take full advantage of Magento’s development and SEO features, which are tailored specifically for ecommerce. Second, you’re putting the fate of your entire website into the stability of a single WordPress plug-in, and if you have ever seen a plug-in crash following a WordPress update, you understand what a rocky foundation that can be. Nevertheless, if you insist on pursuing this route, try downloading Wordgento or the Magento WordPress Integration plug-in, both of which enable you to import Magento blocks into your existing WordPress theme.

Integrating WordPress into Magento

This is the preferable approach to integration, especially if you just want to add a quality blog to your Magento store. The process is similar to the previous scenario, but rather than obtaining your plug-ins from WordPress, you’ll obtain them from MagentoConnect. The WordPress Integration extension, by FishPig, has received a lot of positive buzz from supporters, and there are also a number of premium (i.e. paid) options like Magento WordPress Extension, WpFeed and WordPress Migration Tool.


The Practical Solution – Los Angeles Magento Services

As you can see, there are innumerable extensions and plug-ins out there which seek to take the frustration and guesswork out of WordPress-Magento integration, but it’s only fair to note that third-party plug-ins have their limitations. The ideal approach is to implement custom development which builds a seamless, streamlined framework between the two verticals. This way, you achieve uniformity throughout your entire website, not only in terms of the aesthetics, but in terms of usability and SEO. If you want to establish the ideal union between Magento and WordPress, call Coalition Technologies for a free quote at (877) 989-7187. If you’re looking for Los Angeles Magento services, my team can help you to meet and exceed your expectations, and we look forward to hearing from you.


Working with BigCommerce Templates

You may have noticed that the market for e-commerce shopping carts has become pretty saturated over the past couple of years, with new platforms emerging on a seemingly weekly basis. Even established Web enterprises like Yahoo and eBay have joined the fray, but there is one solution that remains a preferred choice among seasoned developers and non-tech-savvy webmasters alike. I am referring, of course, to BigCommerce. As a major Los Angeles BigCommerce services provider, I have been working with this unique and versatile platform from the very beginning, and I notice that many users are drawn to it merely for its superior themes.

Choosing BigCommerce Templates

If you ask your average online business owner what they look for in an eCommerce platform, they might say that they want something that’s easy to use, or offers a wide array of features. There is one characteristic, though, that every online business owner is concerned with: the aesthetic. In other words, I want to build a site that not only does what I need it to do, but that looks polished and professional, as though it were custom-built from the ground up by a professional designer-developer. Los Angeles BigCommerce services is a veritable godsend in this respect, because the company has more than 100 professional themes that are available to all of its 50,000+ customers. Just browse the library and select the theme you want to use.

Using BigCommerce Templates

At this point, you might be thinking, “Why would I want to use a template that 3,000 other stores are already using?” That’s a fair question, because nobody likes a cookie cutter website. Fortunately, you have three options for making your site your own.

  1. Choose your own designs and color schemes. The nice thing about BigCommerce is that the themes are customizable. You’re not limited to the default configurations, and you can enhance and manipulate the look of your storefront using basic WYSIWYG editors and simple point-and-click commands.

  2. Edit your source code. As a developer, I have always appreciated the fact that BigCommerce allows its users full access to the HTML and CSS code. If you have a knack for back-end customization, you can manipulate existing themes to your exact liking, or even create your very own.

  3. Employ the services of a knowledgeable design and development team. If you don’t know your HTML from your YMCA, but you still want to derive the maximum customization benefit from your BigCommerce website, you can hire an experienced Los Angeles BigCommerce services partner to help you bring your vision to life.

Los Angeles BigCommerce Services from Coalition Technologies

If that third option sounds like something you might want to pursue further, I encourage you to call Coalition Technologies for a free quote at (877) 989-7187. We are a certified BigCommerce partner, and have helped dozens of business to enhance and beautify their storefronts. Let us show you what we can do for you.

Prioritizing Your SEO Strategy

Search engine optimization (SEO) has undergone more changes than Miley Cyrus’s reputation, and it can be exceedingly difficult to keep up with the trends. Not so long ago, we were instructed to simply build as many links to our websites as possible. Then keyword research became a priority. Then we were told that certain links could harm us rather than help us. Then we were instructed that “content is king.” Now it’s 2014, and Google has shifted its algorithm entirely, forever changing the face of SEO. As the founder of a leading Los Angeles digital agency, I have weathered all of these mercurial changes, and the question I receive most often from clients is: How do I prioritize my SEO strategy?

Prioritizing SEO for 2014

I’m not saying you should forget everything you know about SEO, but I will say that best practices have done a 180-degree shift. There is still a place for link building and anchor text, and you definitely want to make sure that your back end is in order (sitemaps, site speed optimization, 404s, URL structure and all that jazz), but the very process by which Web surfers search for goods and services is evolving, and so is the SEO landscape along with it. No two websites are exactly alike, and your optimal strategy will depend on your market and your current rankings, but here are some general fundamentals that every website should be prioritizing from here on out:

  1. Optimizing for Mobile. Is your site optimized for tablets and smartphones? Mobile search is projected to surpass desktop search within the next two years, and if your site isn’t equipped to meet the demand, it will negatively impact your rankings and your conversions. Now is the time to invest in a responsive design that automatically optimizes your website for all screen sizes and dimensions. You’ll also want to minimize your redirects (as this slows the page speed by .6 seconds on a mobile device) and your use of pop-ups. If you are unequipped with the technical skills the achieve this, consider hiring a Los Angeles digital agency that can guide you through the process.

  2. Getting Social. The digital marketing service eMarketer reports that social media use is expected to reach 2.55 billion people by 2017, but it’s not enough to simply be active on social media. Now is the time start using social media to your advantage; link your Google+ account to your website for verified authorship, build your circles and be sure that all of your social media profiles are seamlessly integrated into your website for maximum exposure and SEO benefit.

  3. Breaking Down the Semantics. Semantic search is an emerging term in the world of SEO, as it accounts for the evolving manner in which keywords are processed. Before the days of Siri and speech recognition, Web users favored simple search queries, like “San Francisco dog parks,” but now that people are speaking directly into their mobile devices, we’re seeing more searches like, “Find me a dog park in San Francisco.” As a result, Google is optimizing its crawlers to look for the intent behind searches, rather than just the words themselves. Focus less on simple keywords, and more on creating rich, subject-relevant content with diversified keyword usage, social media integration and semantic markup.

Get an SEO Team on Your Side

If this sounds overwhelming, I understand. Hiring a qualified SEO team may be the most profitable decision you ever make for your business. The landscape is evolving like never before, and a professional helping hand can give you an instant competitive edge. As previously mentioned, I run a leading Los Angles digital agency, and we help businesses large and small to achieve the superior SEO value and rankings that they just can’t seem to break on their own. Call our Los Angeles digital agency for a free quote at (877) 989-7187, and we’ll show you how we can help you turn your struggles into victories.

Unnatural Inbound Links Warning Message – Hire SEO Repair Agency

So Google has sent you the dreaded “Unnatural Links” warning message. It may seem relatively docile at first, but you click on the email and find yourself bombarded with threats of compromised rankings, total Google banishment and deadly plagues upon your children and your children’s children. You have worked way too hard to watch your online business collapse under the weight of Google’s merciless wrath, so what can you do to prevent disaster? For years I have been helping small businesses and Fortune 500 companies alike to maintain and reclaim their good names in the online sphere, and I completely understand the frustration and the trepidation that you’re feeling.

Why Is This Happening?

Once upon a time, Google built a ranking algorithm based on inbound linking patterns. Sites with a greater number of links were considered to be of greater authority, and were therefore graced with prominent search engine rankings. Before long, though, people began to realize that the secret to search engine supremacy was to simply generate as many inbound links as possible. So Google began weighing link value according to quality. One-way links were granted more value than reciprocal links, and sites with higher Page Rank (and later Domain/Page Authority) passed along more link juice than those with lower ranks. Google also began penalizing sites that received links from so-called link farms and other paid spam sources. If you have links pointing to your website from some spammy elephants’ graveyard of CyberSpace, you may already be on Google’s hit list.

The Consequences

If you don’t take action quickly, you may not only see your search engine rankings drop, but you may actually be banned from Google’s index entirely. In other words, your organic traffic for Google will drop down to 0, and this can be absolutely devastating for your online business. In light of the Hummingbird algorithm change, Google is banishing more and more websites which are perceived to violate the almighty Terms of Use. There is a process known as Manual Spam Action, whereby actual human beings review your website for Terms violations, and if you are found—or believed—to have engaged in unlawful linking behaviors, you may be flagged for banishment.

The Quandary  

This is a tricky dilemma, because how can you remove links over which you have no direct control? If you pay monthly for specific links, you may be able to remove them simply by stopping the payments. But in most cases, you’re looking at links that were submitted once and are outside your reach. To complicate matters even more, Google is notoriously vague when it comes to their “Unnatural Inbound Links” warnings. They’re not simply going to give you a list of links that they find questionable, and if you have thousands of inbound links, it can be astronomically difficult to find the actual thorn in Google’s side.

The Solution

If you want to get to the bottom of the problem, you’re going to need professional assistance from a seasoned SEO agency that understands how to identify and eliminate bad links once and for all. Coalition Technologies works tirelessly to help businesses restore their search engine reputation, and we can help you, too. Our team of professional SEO techs has prevailed even with businesses that have already been banned from Google’s index. Give us a call at (877) 989-7187 for a free quote, and we’ll show you exactly what we can do for you. Don’t let a few nasty links derail your business. Take control of the situation.

Manual Spam Action – We Fix Penalties

Google has gotten pretty aggressive about enforcing its Terms of Use, and more and more webmasters and online business owners are becoming casualties of the great Google purge. If you have ever published low-quality content, paid for questionable links, or engaged in any online behaviors that might be interpreted as spamming, your site may already be on the chopping block. Perhaps you’re here because you’ve already seen your Google organic traffic plummet to 0, and you have become a victim of the dreaded Manual Spam Action. As the founder of a leading Los Angeles SEO agency, I hear this tragic ballad on a daily basis, and I understand the sting. But there’s good news. You can still be resurrected from the Google graveyard. It’s just going to take a bit of work.

What is Manual Spam Action?

Manual spam action is like Google’s own brand of WMD. The company has made use of this tactic for years, but only recently have we begun to understand it. It works like this: Google employs a massive team of manual auditors whose sole job is to comb through the deepest reaches of the Internet in search of websites that wantonly violate the company’s Terms of Use. When an auditor encounters such a website, he or she flags it as an offender, thereby pressing the nuclear button of search engine annihilation. Say goodbye to your organic traffic and revenue, because you have just been eliminated from Google’s index.

How Do I Know if I Have Fallen Victim?

It’s very easy to determine if your diminishing traffic is the result of Manual Spam Action. Your Google Analytics profile can provide a powerful clue, particularly if you see you organic traffic suddenly crash and burn. More definitively, though, you’ll want to check your Google’s Webmaster Tools. There’s a Manual Spam Action field, and if your site has been flagged, you’ll see a precise—albeit annoyingly vague—description of the reason(s) for which your site has been unceremoniously dumped from the Google radar.

What Do I Do Now?

Before you panic, please understand that Manual Spam Action is not a permanent death sentence. It’s more like a form of purgatory. If you absolve yourself of your digital sins, you can still rise from the ashes of online obscurity and reclaim your place in Paradise, but it’s not going to happen by itself. First, you need to address and repair the issues for which you have been penalized in the first place. Most often, Manual Spam Action comes as a result of bad inbound links. So you’ll want to eliminate those links and make any other necessary amends. Then you’ll need to submit a Reconsideration Request to Google, indicating that you have taken the necessary actions and would like to be readmitted into the great cyber amusement park that is Google.

Coalition Technologies Can Help

I need to point out that while it’s entirely possible to overcome a Manual Spam Action, it is by no means guaranteed. Finding and eliminating toxic links can be extraordinarily difficult, and your Reconsideration Request needs to be persuasive and thorough. Coalition Technologies can help, because we’ve helped countless businesses in your precise predicament. Call us at (877) 989-7187 for a free quote, and find out how we can help you to restore your good name in CyberSpace. Everyone deserves a second chance, and we want to help you get yours.