Structuring Agile Kanban Boards with JIRA’s “Kanplan”

Structuring Agile Kanban Boards with JIRA’s “Kanplan”

JIRA Software 7.4 Server was just released to the world! The release contained a lot of new features and fixes (detailed here: Release Notes). Being Agile specialists and Atlassian Solutions Partners, we at Ascend Integrated are excited at this release, one which we’ve been reading about since the EAP in April 2017 because it featured “Kanplan”, the ability to create a backlog in a Kanban board.

Why is this cool? Well, Kanban is a very flexible, agile foundation enabling teams working mostly in continuous delivery / support / maintenance to assign, implement, and complete / release features, functionality, and bug fixes. The Kanban backlog goes a step further, providing Kanban teams using JIRA Software increased abilities to plan and manage upcoming stories, tasks, and bug fixes.

To enable your Kanban Backlog, you will need to be a Board Administrator. Go to Board > Configure, and select “Columns” on the left-hand side. Here, you can drag a status into the Kanban Backlog, which will enable the backlog for your board! In the image below, I dragged the Backlog status into the Kanban Backlog column.

Figure 1: Enabling the Kanban Backlog

Now, when you return to your Kanban board, you will see the Backlog icon on the left-hand side (like the SCRUM board view). Clicking the Backlog icon will take you to the Kanban Backlog board, where you can perform functionality once only capable in the SCRUM boards:

  • Adding Issues to the Backlog
  • Prioritizing Backlog Issues
  • Viewing / Editing Issues (using the Issue Details view)
  • Creating Sub-tasks
  • Issue Transitions
  • Select Issues for your team to work on
  • …And more!

Figure 2: Kanban Backlog View

A very useful and innovative method for structuring your Kanban related projects, the Kanban Backlog is available now in JIRA Cloud and JIRA Software 7.4!

Any questions regarding the Kanban Backlog, or upgrading to JIRA 7.4? Reach out to us anytime!

Your Help Desk Needs: Zendesk vs. Atlassian JIRA Service Desk

Your Help Desk Needs: Zendesk vs. Atlassian JIRA Service Desk

No one can downplay the importance of utilizing an efficient and effective IT Service Management (ITSM) software at work in your organization or enterprise. A business must be able to respond both externally to customers’ requirements, and internally to stakeholders with inquiries or support needs in an acceptable amount of time and maintain consistent communication throughout the process. Two applications dominating the ITSM market with their innovative approaches to service management are Atlassian’s JIRA Service Desk and the Zendesk platform. To be effective, ITSMs often need to provide reporting capabilities, SLA’s, automation, and need to be easily extendable / adaptable across multiple teams. Here we’ll examine the pros and cons of both applications, along with our recommendations based on our use of both applications across different environments.

Note: comparisons between Zendesk and Service Desk were made using the Zendesk Cloud platform, and the JIRA Service Desk Cloud / v 3.3.1 (server) implementations. 

Zendesk

Founded in 2007, Zendesk is a system for tracking, prioritizing, and solving customer support tickets (thank you Wikipedia). Zendesk is a completely cloud based ITSM. After I went to their application site, https://www.zendesk.com/ and clicked “Get Started”, I was up and running in a matter of 5 minutes. Pretty cool! I began customizing my Zendesk instance right away, and was happily greeted with a straightforward user interface (see Figure 1 below). Just adding a new field was a simple task. Much of the administration was intuitive, no training required!

Figure 1: Adding a New Field

After setting up the system itself, users entering tickets would see a screen similar to this one:

Figure 2: Entering a Ticket into Zendesk

Here are some of my thoughts based on my experience working with Zendesk in the past and just recently.

Starting Price:

$5.00 per agent per month (agent denotes someone who is a user and administrator of the ITSM, not a customer)

Pros:

  • Straightforward User Interface and Administration built into the Zendesk application. Take a look at Figure 1 above to see just how easy it is to add a field to a ticket.
  • Triggers, Automations, and SLA’s are now a core feature built into the Zendesk application.
  • Social Media Integration (yes you can link to Facebook, Twitter, etc.).
  • Reporting and Views functionality allows users to create views using specific conditions selected from multi-select boxes. Users can drag+drop columns to better organize their reports.
  • Rich App Marketplace for add-ons and extending the functionality of your Zendesk instance. Some of these add-ons are free and easily installed on your instance with a few clicks.

Cons:

  • As its hosted in the cloud, the URL will appear as “yourcompanyname.zendesk.com” rather than having it on a dedicated URL.
  • Price of $5 per month per agent can be costly to a small business depending on the number of agent accounts you would like to create.
  • Limited overall customization capabilities: while Zendesk is simple to get up and running, and it is certainly extendable, there is much less functionality out-of-the-box with Zendesk when compared with JIRA Service Desk.
  • Zendesk is not specifically ITIL compliant. While it is possible to install plugins in order to bring the system close to ITIL compliance, it is not ITIL certified out of the box.

JIRA Service Desk

Built on the power and flexibility of JIRA Core, JIRA Service Desk is a standalone ITSM software developed by Atlassian for use as an IT Help Desk ticketing system. After navigating to the Atlassian website and clicking “Try it Free”, I’m brought here where I can create my own Service Desk instance in the Cloud: https://www.atlassian.com/software/jira/service-desk/try and I’m off and running. Service Desk can also be downloaded locally to your own server.

After I create my instance, I can create a Service Desk Project based on previously defined templates, or I can create a custom project, including workflows, fields, request / issue types, permissions, notifications, etc. Figure 3 shows the types of customizations, for instance you can perform creating custom fields.

Figure 3: Customizing Fields for JIRA Service Desk

Figure 4 provides an overview of how the ticket / request type forms will look like if you choose a standard out-of-the box template.

Figure 4: Entering A Ticket Through JIRA Service Desk 

Starting Price:

$10.00 for 1 – 3 agents in the cloud / server instances.

Pros:

  • To start, JIRA Service Desk is ITIL Compliant and Certified. This is a make or break decision for some organizations looking to implement an ITSM that complies with ITIL.
  • Excellent price points initially (1 – 3 agents are only $10.00 / month), though it can become expensive if you begin scaling (i.e. a service desk with 6 agents would run you $3,000.00 per year, compared with $30.00 per month using Zendesk).
  • The administration section of JIRA Service Desk is extremely customizable, you can customize anything from field types, to request types, automation & SLA’s, and create custom dashboards using built-in gadgets.
  • Comprehensive reporting using JIRA Query Language (JQL), allow you to create advanced reports easily.
  • Atlassian Marketplace is filled with Add-Ons (some free) that further extend the functionality of Service Desk.

Cons:

  • Too many customization options require the Service Desk administrators to be specialists. Nuances abound when administering a Service Desk instance.
  • For clients using the server-based version of Service Desk, they will need to have a separate server / hosted environment which may add to the costs.
  • If you are using the Atlassian Cloud instance, you will be stuck with a URL such as “yourcompanyname.atlassian.net”, very similar to Zendesk.
  • There are inconsistent functionalities across the Cloud and Server versions of Service Desk. New functionality is often introduced in the Cloud before it is found on the Server version.

Conclusion

Zendesk and JIRA Service Desk are both powerful ITSM’s in the marketplace. They provide a full range of functionality for users of all types of organizations. Interestingly enough, these systems have long since decided to interoperate with one another. Users may install add-ons for JIRA that allow JIRA data points to be displayed in a Zendesk instance (and vice versa).

Our recommendation: JIRA Service Desk is best suited for organizations who require more complex reporting out-of-the-box, additional functionality / control, and who may need their Service Desk instance hosted behind a firewall. Zendesk is preferential for smaller organizations (not to say it can be used for larger organizations as well) who do not require the complex administration / management / reporting, but want a dependable system running in the cloud.

What are your thoughts, have you used Service Desk or Zendesk?

The Right Agile Tool For Your Team

The Right Agile Tool For Your Team

Software development and the processes that guide it have been evolving over the past twenty years. The Waterfall methodology, thought by many to now be obsolete, paved the way for both iterative and agile based software development methodologies. Agile itself is not confined to a single method, but is often fluid and changes between process frameworks (i.e. SCRUM vs. Kanban) and the organizations that use agile (Non-Profits, Government Agencies, and Commercial firms). Due to Agile’s propagation among software projects, and the need for teams to stay organized, tools have been developed in order to help software developers, scrum masters, product owners (and the list goes on) stay organized. Here we’ll be examining four agile tools used for planning and organizing teams: JIRA, Trello, Targetprocess and Bugzilla. Specifically, with these tools, we will be examining their pros, cons, and the types of organizations for which they are most suited.

JIRA / JIRA Agile

JIRA is a versatile issue tracking system built and designed for software teams to track project related tasks / issues. Atlassian utilizes Kanban and SCRUM based boards that are highly customizable. As JIRA Experts and Partners, we are not only (slightly) obligated, but also thrilled to write about JIRA and JIRA Agile’s capabilities. JIRA also enables users to create complex reports and filters using Jira Query Language (JQL) which functions similar to SQL. You can find out more, and try JIRA for free here: https://www.atlassian.com/

Figure 1: JIRA Agile Board

Starting Price:

10 users for $10 /month (Cloud and Server). Data center options are available.

Pros:

  • Highly Customizable: you can create custom fields, boards, reports, etc.
  • Built for Cloud + Server: you can install and manage JIRA-Agile in your data center or access it through the cloud.
  • One of the most widely used Agile tools on the marketplace.

Cons:

  • Price: after you get past the 10 users, the price quickly jumps for 15 users to $75 per month. 2,000 users may run you $1,500.00 in the cloud per month. 10,000 users in JIRA Server will run you close to $36,000.00 per month.
  • Add-ons may be pricey, and are sometimes required to extend the base functionality of JIRA.
  • There is a steep learning curve for administration, installation, and customization.

JIRA is a great overall tool for both small and large teams. However, in our experience we’ve found JIRA may offer too much customization for a small team to get a tool “up and running”. But, for many organizations, JIRA is the first tool we show them when helping them select an agile tool. We would recommend JIRA for small but established teams as well as medium sized and large teams / organizations.

Trello

Trello is an agile, cloud-based tool recently acquired by Atlassian. It currently does not have a standalone installation. The boards allow users to define their own lanes or columns (called “lists) where you can drag and drop cards. Cards on the board also allow you to attach images and files, write descriptions and you can assign cards to Trello users (or add them) who have access to your board. Trello Boards can be public or private. You can try Trello for free here: https://trello.com/.

Figure 2: Trello Agile Board

Starting Price:

$0, Trello Gold will run you $5 per month, or $45 per year.

Pros:

  • (In our opinion) The most fluid / easily understandable UI of all the tools we reviewed.
  • No costs upfront: you can create a Trello board with limited costs to you and your team. This is excellent for small teams or startups.
  • Ability to add potentially unlimited number of users to your board.

Cons:

  • Lack of customization (custom fields, screens, and issues / tickets).
  • Limited reporting capabilities (no fancy advanced reporting or dashboards here).
  • No way to link code to cards that are being developed unless you use the advanced APIs.

Trello is excellent for small and medium sized agile development teams, but may not hold up well against larger teams due to its lack of overall customization capabilities. We would recommend this mostly for small teams and startups.

Targetprocess

Targetprocess is an Agile tool allowing users to build out detailed projects and project schedules. Very similar to JIRA, it allows users to customize boards, user permissions, notifications, and issue types (called entities). It has a standalone installation that is normally used for large organizations or projects, and a cloud-based application. You can find additional information regarding Targetprocess, and try it out here: https://www.targetprocess.com/.

Figure 3: Targetprocess Agile Board

Starting Price:

Its free, you can begin using Targetprocess at $0.00.

Pros:

  • Starting price of $0.00 is a huge motivator for small teams looking to begin development.
  • Free courses on basic and advanced system features. You do not have to pay for training.
  • Highly customizable tool with excellent customer service.

Cons:

Targetprocess can be used for both small and large project teams. It has a nice blend of rigid controls and permissions that compare with those provided by the Atlassian tool suite. However, the UI seems to be a bit outdated, but its rigidness may apply best to large programs and projects where users may only be allowed to execute limited functionality.

Bugzilla

Actively maintained by the Mozilla foundation, Bugzilla is a true open-source bug tracking tool. There is no cloud instance, which means you are required to download and install it on your server or in a hosted instance (i.e. AWS). Of all the bug tracking / agile tools we’ve touched on here, it is the oldest (being released in 1998) and to this day is still actively maintained. You can download and install Bugzilla here: http://www.bugzilla.org. Bugzilla does not come out-of-the-box with an Agile based board installed, you will need to install one: http://www.scrumexpert.com/tools/scrum-kanban-open-source-tools-for-bugzilla/

Figure 4: Bugzilla using the KanbanBoard Plugin

Starting Price:

$0.00 (its open source!)

Pros:

  • Absolutely Free, you will never pay for the actual Bugzilla application.
  • Highly customizable: you have full documentation on the code from the Mozilla group that you can review and build atop the success of Bugzilla.
  • Heavily documented tool and actively maintained.
  • Majority of add-ons for Bugzilla are free, you can extend the functionality of Bugzilla for little to no cost.

Cons:

  • There is no customer support for this tool. Should you have an issue or question, you can consult the Mozilla documentation, Stack Overflow, and other support forums.
  • No cloud hosted option for small teams, you are required to use a standalone server (or purchase a hosting platform).
  • Outdated, clunky UI for many of the Agile based add-ons.

Bugzilla is great for project teams of all sizes who may have some extra server power lying around. And maybe for that reason, it would be geared towards established smaller teams who want to have the customization and configuration capabilities of JIRA / Targetprocess and want to host it on their own server / instance.

What Should You Choose?

While each tool has their strengths and weaknesses, they all appeal to a specific team / project / organization and the way in which they will use the tool.

Let us know if there’s a tool you would like us to review. You can contact us through our site, or comment on this blog entry!

Which tool is right for your organization?

Co-Authored By: Mike Brown & Ben Dickshinski — Ascend Integrated

The Atlassian Cloud: To Migrate or not to Migrate?

The Atlassian Cloud: To Migrate or not to Migrate?

In recent years, Atlassian has been making an aggressive push for users to go to the cloud instance recently. We have been receiving many questions from clients on the Atlassian-Hosted instances of JIRA and Confluence, and whether to make the migration from the server to these cloud instances. Therefore, we wanted to put together a blog in regards to migrating to the Atlassian Cloud from your server, and the potential benefits and drawbacks of using the Atlassian Cloud as your new solution. Here, we analyze the technical, usability and financial pros & cons of the Atlassian Cloud, and the types of companies who would benefit most from moving to the Atlassian Cloud.

*As a disclaimer, we have been using the Atlassian Cloud for hosting our project issues and documentation since 2010, so this is an accumulation of our experiences working alongside both the Atlassian Server instances and the Atlassian Cloud. We are also Atlassian Experts and currently enrolled in the partner program.

What are the Atlassian Cloud’s Benefits?

If your firm already uses the Server-based Atlassian Tools (i.e. JIRA / Confluence) and you are looking to migrate to the cloud, you will find some initial benefits in pricing, low maintenance requirements (no more memorizing “yum” commands), Tool Administration Ease & Add-On installations, and the Atlassian Connect framework.

Pricing

If you are an enterprise with 2,000 or less users, you will pay less for the first year than you would if you purchased an initial JIRA Server License:

  • Pricing for Cloud 501 – 2000 Users: $24,000.00
  • Pricing for Server 501 – 2000 Users: $1,500.00 per month ($15,000.00 annually)

However, in Year 2, the Server License renewal fee is only $12,000.00, whereas you will continue to pay $18,000.00 annually for the Cloud instance. Roughly around Year 3 the cost to support the Server and Cloud will even-out, and at Year 4 the cost to continue supporting the Cloud instance will be more than the server instance. While the cost of the license seems to be a staggering $6,000.00 more annually after Year-3, your firm will make up the cost in saving on overhead associated with server maintenance (labor, updates, licensing agreements), etc. Depending upon your enterprise practices, going to the cloud may be very cost-effective.

Server Maintenance

As hinted at previously, gone are the days of figuring out how to upgrade your JIRA instance, or upgrade the underlying technologies (i.e. your Database, JVM, etc.). This ensures your system (both the Atlassian Tool and the underlying application software) is kept up-to-date without you having to take the site down for maintenance. This is all handled seamlessly by the folks at Atlassian, which means you can focus on what is important to you: getting your software developed. Figure 1 below provides an overview of a typical Cloud instance and the underlying software components / architecture maintained by Atlassian (yes you don’t have to maintain any of it).

Figure 1: Java JVM, OS, and Database Information Example

Administration Ease

User Management (including Billing Management) and Add-Ons are all handled through the Administration panel in JIRA and/or Confluence. You can go ahead and update billing preferences, the number of users in your Atlassian Cloud instance, and instantly connect Atlassian Add-Ons across all your tools (i.e. integrate your Confluence instance with JIRA) using the “Discover New Applications” feature. With one-click, you can have JIRA Service Desk, Core, Confluence, Capture, Portfolio, etc. installed and integrated with your instance. You can also integrate easily with any Google Apps you are currently using as well.

Figure 2: Atlassian Marketplace for JIRA

Atlassian Connect

Atlassian Connect is a framework allowing you to develop add-ons for the Cloud (JIRA and Confluence). You can develop your own custom add-on and access the application through a REST web service over HTTP. This helps bridge the gap for those Atlassian Tool users who have custom add-ons they use specifically within their enterprise. Atlassian Connect allows these users to migrate the add-on functionality to the cloud. If you decide to develop your own add-on for your Atlassian Cloud instance, be sure to brush up on JSON, REST APIs, and utilize the Atlassian User Interface (AUI) CSS Library to maintain the cloud standards and best practices.

What Are the Challenges to the Cloud?

While migrating to the Atlassian Cloud enables customers to take full advantage of all the Cloud has to offer, there are some limitations to the functionality provided through the Atlassian Cloud. Here, we provide a list of limitations we found while doing our due diligence for our clients.

Limited Plugin Support

While Atlassian Connect provides a bridge between custom add-ons and the new Cloud instance, Atlassian Connect has a learning curve, development time and effort. Many of the add-ons in the Atlassian Marketplace were developed for Server / standalone instances only. You may find many of the add-ons you have purchased for your JIRA Server incompatible with the Atlassian Cloud. If you have custom plugins used by your enterprise, you will need to develop these using the Atlassian Connect Framework in order to connect with your Atlassian Cloud instance. This will require additional development time and effort.

Limited LDAP Integration

Many firms utilize Lightweight Directory Access Protocol (LDAP) for accessing their JIRA or Confluence instance. Users are required to have an LDAP profile in order to access the Atlassian Tool suite. Atlassian Cloud does not allow users to interface with their LDAP directly. Atlassian has been repeatedly dinged by the user community on this issue, and they are currently working on a solution: https://jira.atlassian.com/browse/ID-79?src=confmacro.

Storage Limits

There are strict storage limits set on the Atlassian Cloud instances depending on the number of users. If your server instance is hosting several hundred gigabytes of files and data through either attachments or images uploaded to JIRA issues or Confluence, you may find it challenging when upgrading to the Atlassian Cloud.

  • For 0-500 Users, the limit is 25GB (for Confluence and JIRA) which may be uploaded and stored in the Atlassian Cloud instance.
  • For 500+ Users, the limit is 50GB for confluence and 100GB for JIRA.

URL will become “companyname.atlassian.net”

Many of our clients and Atlassian customers normally access their tools through a subdomain, for instance they will access their JIRA or Confluence instance by typing “jira.companyname.com”. However, should you decide to move to the cloud, your URL will be changed to “companyname.atlassian.net”. Essentially the name of your instance will become a subdomain of atlassian.net. Atlassian is looking to build a feature enabling users to create and update their own URLs in the Atlassian Cloud, but it has not yet been developed: https://jira.atlassian.com/browse/CLOUD-6999.

Performance Issues and Garbage Collection

There have been some noted performance issues around the Atlassian Cloud, specifically working with JIRA and Confluence. Users do not have access to the underlying server, and therefore cannot directly increase the JVM Memory or the overall RAM allotted for their instance. Therefore, depending on the instance, you will see a lot of red when it comes to managing the Java Heap and the Garbage collection. We recommend Forcing garbage collection at least once daily in order to free objects in memory not being used by the Atlassian Tool.

Figure 3: Atlassian Cloud Java VM Memory and Garbage Collection

You will also not have access to the underlying PostgreSQL Database, so your reporting will be restricted to what you will be able to perform using JQL queries.

Limited Support for 2,000+ Users

Large Enterprises will run into a wall if they have over 2,000 active users on their JIRA or Confluence instance. Currently, the Atlassian Cloud only allows customers to purchase licenses for up to 2,000 users.

No FedRAMP Certification

If you currently providing hosting or tool solutions to the Federal Government, you understand the importance of the FedRAMP certification for data centers. For many agencies, tools are required to be FedRAMPed if they are hosted outside of an existing agency data center.  Currently, the Atlassian Cloud is not FedRAMP certified.

Conclusion

As an Atlassian Expert and Partner, we feel the Atlassian Cloud is overall an excellent and constantly evolving tool with widespread use across multiple industries. The Cloud provides convenience and removes obstacles associated with purchasing and maintaining an Atlassian Tool Suite for smaller firms, development teams, or firms wanting to “try out” the Atlassian Tool Suite. You can try out the Atlassian Cloud here: https://www.atlassian.com/software/jira/try.

The Atlassian Cloud may not be a good fit for large enterprises (with +2,000 users) or those firms which may be utilizing a considerable number of add-ons not currently developed for the Cloud. However, we strongly encourage both small and large enterprises to investigate everything the cloud has to offer.

Ascend Integrated encourages you to explore the Atlassian Cloud and all that it has to offer, it may be just what your firm needed for tracking and managing your tasks.

What are your thoughts on the Atlassian Cloud?

Drupal 8 Review: Part-3 (Should I upgrade to Drupal 8?)

Drupal 8 Review: Part-3 (Should I upgrade to Drupal 8?)

In the final installment of this 3-part blog discussing Drupal 8, we review what makes Drupal 8 great, areas where it can improve, and some items to seriously consider when deciding to upgrade to Drupal 8 from Drupal 7. Throughout this entry, we will take a look at a consolidation of our previous notes / blog entries, and provide additional information regarding Drupal 8.

Disclaimer: Since Drupal 8 has gone live, the community is no longer supporting Drupal 6. We highly recommend upgrading to either Drupal 7 or 8 as soon as possible. This represents a minority of the Drupal users, so this blog will be mostly focused on upgrading from Drupal 7 to 8.

What’s Great

If you decide to upgrade to Drupal 8, you’ll instantly see many of the benefits at your finger tips. Drupal 8 is great for Content Managers, Mobility & Responsive Design, and for those firms who want to be on the bleeding edge of CMS Development. Let’s explain:

Many of the features and functionality built into Drupal 8 was built mostly around the content manager, and a bit less around the developer. This was evidenced by Drupal 8’s transition to Object Oriented Programming (OOP) (D8 code looks different from D7’s functions and arrays) and purposefully embedding the CKEditor into the Core. As a content manager or administrator, I can start administrating my site quickly and easily. The backend UI is very different and allows for easy navigation. Building a basic content only site with minimal functionality is a breeze with Drupal 8.

Drupal 8 has responsive and mobile design built into the core. Even Bartik, the default Drupal theme contains elements of responsive design. The administration menu and screens also exhibit responsiveness. You can now manage your Drupal 8 site on your tablet or smartphone. In comparison, there are still a number of Drupal 7 themes that are not 100% responsive themes. Search engines, specifically Google, penalize sites’ SEO rating harshly if there is limited to no responsive design. Therefore, Drupal 8’s out-of-the-box capabilities for responsive design help guarantee your site appears at the top of search engine results.

Drupal 8 is the most advanced version of Drupal to date. While this comes with less module support, it enables developers to be creative and determining their own custom solutions. Drupal 8 still requires a lot of work, but developers can definitely take advantage not only for the possibilities twig offers for theming, but also the back-end OOP support. Drupal 8 is also optimized for PHP 7, decreasing overall performance issues associated with PHP 5.x and improving the stability of the CMS greatly. Drupal 7 still does not support PHP 7 completely, as evidenced by the current thread on the Drupal site: https://www.drupal.org/node/2656548.

What Could Be Improved

Drupal 8 is a living software development project, constantly being updated and maintained. While Drupal 8 brings many benefits to both users / administrators and developers, it lacks functionality with limited module support, lack of themes, and creates some administration and development difficulty through a general lack of Drupal 8 documentation.

As touched on previously in our second blog, we noticed many of the modules for Drupal 8 were still in the process of being developed, i.e. were still only of “Alpha” or “Beta” status. Support for many of the Drupal 7 modules continues, but Drupal 8 still does not have the full support of contributors developing modules. This is partially due to the user base (there are still many more Drupal 7 sites than Drupal 8 sites), and the relatively recent release of Drupal 8.

As of September 2016, there are 12,296 modules built for Drupal 7, with only 2,103 modules built for Drupal 8. Regarding themes, Drupal 7 has 702 themes and theme options available, where as only 124 are available for Drupal 8. Similar to the modules, many of the themes developed for Drupal 8 are in their Alpha or Beta stage, and not yet ready for full-production use. The sites we’ve seen developed by the larger firms using Drupal 8 utilize customizable themes like Bootstrap or are built from the ground-up using twig. Smaller companies and development shops may not have the capacity to support custom front-end development for Drupal.

The documentation across the site is lacking information regarding Drupal 8. We believe this to be caused by the recent Drupal.org site migration and also the relative newness of Drupal 8. While the Acquia library currently has a wealth of information, the open source Drupal.org site does not have a consistent, updated Drupal 8 documentation library.

Since the time of this writing, the Drupal community continues to improve module compatibility with Drupal 8. However, we are still years away from full Drupal 8 adoption. The Drupal community is excellent, and I’m sure the flaws we’ve addressed here are being alleviated and solved by the community already.

If you decide you absolutely need Drupal 8…

We are skipping ahead here, but we wanted to highlight some unique functionality Drupal 8 implemented in the Drupal 8 core. Drupal has made life for Drupal 7 (and 6) users a bit easy if they decide to upgrade to 8. Included within Drupal 8 is the “Migrate” module. As of v8.1.x these are included in the “Experimental” section of the Core modules (see the figure below). While experimental, the community understands many user’s frustrations migrating / updating their sites, and decided to make it easier. However, as of Drupal 8.2, the migration path is still not complete especially for Multi-lingual sites. Migrate at your own risk!

Figure 1: Drupal Migrate Modules

Installing the Migrate, Migrate Drupal, and Migrate Drupal UI will activate the Drupal Upgrade process, whereby you can import an existing Drupal site into a clean install of Drupal 8. It will overwrite anything you have configured currently in Drupal 8. The system will ask you for your database source, source file information, and you are off to the races.

Figure 2: Drupal Upgrade Process Beginning

Should you Upgrade?

As we hinted at earlier, Drupal 8 is excellent if your site is heavily content and theme focused, and less focused on functionality (i.e. ecommerce), then Drupal 8 is probably a great place to start. In fact, I would say skip using Drupal 7 altogether and go right to 8 for content heavy sites. You’ll be happy you did! You’ll be able to stay on top of new themes, updates, and use modules as they go-live. For a smaller firm, personal site, or mid-sized firm with content heavy sites, Drupal 8 is highly recommended. Multi-lingual sites also greatly benefit from the built-in Drupal 8 compatibility with multiple languages. Try it out!

For those sites that require a great deal of security, ecommerce, or have a large user base (i.e. such as those for a portal or collaboration site), we recommend staying with Drupal 7 a bit longer. Many of the modules for Drupal 8 that enable permissions and usability are not yet compatible with Drupal 8. While you can mimic a lot of functionality in modules not yet updated to Drupal 8 by writing your own custom code, its not likely recommended due to time and costs associated with development. Many themes for Drupal 7 are also mobile responsive, so jumping to 8 just to have the “responsive” functionality is not nearly as effective as finding a great responsive Drupal 7 theme.

It is likely Drupal 7 will continue to be supported for several years to come. Depending on your organization’s size, appetite for change, and the functionality your site provides, upgrading to Drupal 8 may be a blessing. Upgrading may also cause more headaches through increased costs and development time attempting to patch together custom modules and functionality not supported by Drupal 8.

I hope you enjoyed our series on the Drupal 8 CMS! Feel free to reach out to us at anytime: www.ascendintegrated.com

Drupal 8 Review: Part-2

Drupal 8 Review: Part-2

This is the second in a series of 3 blogs discussing Drupal 8, including its installation & configuration process, first impressions, and the pros and cons of upgrading to Drupal 8. As a recap, we have just installed Drupal 8 on top of the current local MAMP configuration. Here we explain some of our first impressions looking through the Drupal 8 site on our locally hosted Drupal 8 Core site using MAMP.

Semi-Responsive Menus & Content Management

One of the items we noticed right off-the-bat was the responsive menus. This was an interesting new feature which, when used on a mobile device allows users to easily update and administer their Drupal 8 site on their tablet or smartphone. We’ll chat a bit more later about theming and the built-in responsive Drupal 8 modules. Figures 1 & 2 below show how extending and compressing the screen allow the menu’s size to scale.

Figure 1: Top-Admin Menu

Figure 2: Side Admin Menu

Content Development and CKEditor

Yes, they made Drupal 8 a bit more “Content Manager” focused and less developer-oriented. Including the WYSIWYG Editor, CKEditor as a default text editor is one way to show Drupal’s attempt to become more content manager and editor focused.

Drupal 7 and all previous versions of Drupal required you to install and configure the CKEditor Module in order to enable these abilities to edit pages and documentation. Drupal 8 saves you the time, and provides this functionality up-front as shown in Figure 3.

Figure 3: CKEdtior & Content Management in Drupal 8

Users can also directly access their site assets & files (such as images used for the site) under the new “Files” tab. This is similar functionality already built into WordPress.

Themes

The “Appearance” section of Drupal 8 provides you with the capability to Install & Configure themes. There are currently 702 Themes and Theme Options available for Drupal 7, compared with only 124 options for Drupal 8 with themes ranging from complete 1.0 releases to those still in the Alpha and Beta testing stages. Drupal 8 takes full advantage of HTML 5 in theme development compared with Drupal 7’s wide use of XHTML. Themes in Drupal 8 use the Twig framework for building and developing front-end themes.

Building responsive sites is key to increasing your site’s overall search ability and improving your site’s SEO. Drupal 8 comes out-of-the-box with two modules which help enable responsive sites, “Responsive Image” which provides an image formatter and breakpoint mappings, and “Breakpoint” which helps track of height / width / resolution breakpoints required for a site to scale across multiple screen types (i.e. Mobile).

An interesting note, Drupal 8 has dropped support for IE 6, 7, & 8 with its use of jQuery 2.0, HTML5 & CSS3. The wide use of HTML5, jQuery 2.0, and CSS3 by Drupal 8 has modernized the U.I. of the CMS by leaps and bounds.

Extend (Modules)

The Modules section (now called “Extend” in Drupal 8) features similar functionality to that in Drupal 7. Users can install modules using a URL or uploading the file directly. All modules installed are stored in the “Modules” folder in the Drupal 8 file application. After installing a module, the user can enable and configure the module, or turn it on / off as required. There is also a new Drupal 8 section for “Experimental Modules.” Experimental Modules are included in the build for testing purposes only (they are not fully vetted) for possible integration into Core. It is recommended not to enable these modules on a production site as they may expose security flaws or functionality issues.

While scanning available modules for Drupal 8, we noticed many of the popular modules in Drupal 7 are currently going through a development update in order to be compatible with Drupal 8. As of September 2016, there are approximately 12,296 modules built for Drupal 7. This is compared to only 2,103 modules built for Drupal 8. Many of the Drupal 8 modules are still in the Alpha, Beta or first release phases.

Figure 4: Module Installation & Configuration Screen

Documentation Updates

Much of the Drupal 8 documentation is still in the process of being developed. If you visit the Drupal 8 documentation center here: https://www.drupal.org/docs/8 you’ll find a lot of empty pages. This is in-part due to the Drupal Documentation Migration occurring and the relative “newness” of Drupal 8. A lot of the documentation under Drupal 7 covers sections regarding Drupal 8 (strange this is not all compiled under the /docs/8/ path), but there is some documentation out there:https://www.drupal.org/docs/7/choosing-drupal-version/overview. Acquia has a better documentation library, so I would recommend searching their site first before going to the drupal.org site for Drupal 8 documentation information.

Performance

A lot of performance for Drupal 8 is based around the idea of “caching”. Caching allows Drupal to generate pages or page elements one time, and store these pages / elements in memory so that it can be easily retrieved. Rather than making constant calls to the backend Database, this enables you to have all your elements / pages ready after a user accesses them once.

Varnish continues to be one of the best caching reverse proxies for Drupal 8, caching many of your static assets such as images, JavaScript, CSS, and anonymous user requests.

A new functionality for site caching appeared in Drupal 8, the Cache Context API was introduced to cache individual blocks or pages through configuration rather than coding. This allowed you to cache specific blocks within the page appearing the same for all users. For instance, if you have a block on your screen with a calendar or blog updates, you can cache this for all users.

Despite all its hype, there are some initial benchmarks with Drupal 8 showing it to be a slower solution than 7. Because Drupal 8 was architected to be more Object Oriented (OOP) than Drupal 7, a lot of the PHP functionality is broken out into individual files. This requires Drupal 8 to scan these PHP files to find the functionality it needs to execute. Thank you Jeff Geerling for revealing this information: Jeff Geerling: Yes, Drupal 8 is slower than Drupal 7 – here’s why.

Views

Love it or hate it, Views is now part of the Drupal Core install. Views is a query builder. It allows you to pull certain types of data and present them in a section of your screen through a block or a separate page. Since its continued popularity and use by many contributed modules in Drupal 7, the Views module has been integrated into the Drupal Core code. Overall the Views module acts very similar to Drupal 7’s View add-on. The User Interface allows you to create pages or blocks with specific data displaying in the view. The figure below provides a UI of a sample content-based View I created in Drupal 8.

Figure 5: Views Configuration Page

Popular Modules…Gone?!

Interestingly enough, the Drupal community made an attempt to de-focus Drupal 8 from Blogs, Polls, and PHP Embeds, focusing more on Content Management. The reasons the community left these modules out varies, but on the whole the community decided were not adding anything to the value of Drupal.

Blogs: You can either install the un-supported Blog module into your Drupal 8 instance, or create a new Content Type and include custom fields associated with that type.

Polls: This is now available as a contributed project / module you can install. It does not come with the Core install any longer.
PHP Filter Module: The PHP Filter module allowed you to include PHP snippets in posts. Its no longer a part of Drupal Core, for more reasons than one. But, one of the main issues is that it was a security risk if it was enabled. Providing users the ability to embed code directly into a page.

Conclusion

At this point, we’ve seen both the installation process and our first initial impressions of Drupal 8, including functionality built into the system and functionality no longer apart of the CMS. For the final blog in this series, we’ll review the Pros & Cons of Drupal 8 and provide feedback to help you make an informed decision on upgrading your website to the Drupal 8 CMS.

Drupal 8 Review: Part-1

Drupal 8 Review: Part-1

Introduction to the Blog Series

I wanted to put together a series of blogs covering Drupal 8, including the installation process (mostly for a local machine), our first impressions, and finally the benefits for organizations to upgrade or to just keep Drupal 8 “on their radar”.

Drupal 8 is Drupal’s long awaited upgrade from the popular Drupal 7. Drupal 8 began development after Drupal 7 was released and subsequently stabilized. The Alpha releases for Drupal 8 began around May 2013. As the core team received feedback, Drupal 8 was re-coded, updated, and released again. After much trial and error and following the Alpha & Beta process, Drupal 8 was officially released November 19, 2015 with the first full-on stable release uploaded to the drupal.org site for download.

So it was released in November, 2015…why are we reviewing it now? As an Acquia partner and longtime promoter of Drupal, we enjoy experimenting and testing new systems and modules. There have been quite a few updates since the initial release, and modules (the life blood of Drupal and extending core functionality) are finally being released for Drupal 8. Many sites are still using Drupal 7, but since its release several months ago, more are beginning to use Drupal 8…err well at least many of the organizations using Drupal 7 are beginning discussions on such topics as “Should we start planning for Drupal 8?”

The other reason we are reviewing Drupal 8 now: I wanted our team to have time to absorb Drupal 8, compare it to Drupal 7, and understand the design decisions of Drupal 8.

This series of blogs to be released over the next week would cover the installation process for Administrators & Developers for testing on their local machines, our first impressions (what we see in Drupal 8) and pros & cons of upgrading to Drupal 8 and subsequent benefits for organizations. We split them into 3 blogs so not to overwhelm the reader, with the first one being the most technical and focusing on the installation of Drupal.

Environment Configuration

Let’s begin our Drupal 8 journey with a review of the installation and underlying tech stack we used for testing Drupal 8. As with Drupal 7, Drupal 8 follows a similar Content Management System (CMS) configuration: Web server + Application Server + Database Server. Figure 1 provides an overview of the current environment I am mimicking on my local machine to host Drupal 8.

Figure 1: Typical Drupal Architecture Using MAMP

The installation I used for this evaluation was pretty straight forward, I used MAMP basic (version 3.5.1) as the core environmental component for hosting Drupal. MAMP provides users the ability to create a localhost, providing the Apache Web Server, PHP, and MySQL stack required to run CMSs such as Drupal / WordPress / Joomla. I used the following configurations on my Mac OSX system:

  • Apache v2.2.29
  • MySQL v5.5.38
  • PHP 7.0.8 (to be fair, Drupal requires PHP 5.5.9, but I wanted to see how it would run on top of PHP 7.x)

You can also host Drupal using the WAMP tool for Windows or LAMP for Linux.

To make life a bit simpler, after starting MAMP on my local machine, we completed the following configurations in order to prevent any hiccups when undertaking our evaluation:

  • Ensured PHP Memory was set to 128MB (sometimes it defaults to 8MB)
  • Create a separate Drupal Database and user for the MySQL Database through PHPMyAdmin
  • Set the Apache Webserver Port to 8888
  • MySQL Port set to 8889
  • Enabled PHP 7 OPCache (you can easily do this in MAMP)

After the environment was configured, we downloaded Drupal 8 (specifically 8.1.8) from the https://www.drupal.org/project/drupal/releases/ site (the tar.gz version as opposed to the .ZIP file). Navigating to the Applications directory in my terminal, I did the following:

  • Copied the tar file to Applications/MAMP/htdocs
  • Unpacked the tar.gz in the Applications/MAMP/htdocs folder using the Mac UNIX command (tar xopf drupal-8.1.8.tar.gz)

Installing Drupal

Now that our environment is completed and we have Drupal unpacked into our webserver folder, we are ready to begin installing Drupal! We go to the following link in the browser (http://localhost:8888/mydrupalfoldername/core/install.php) and execute install.php. Here, we are greeted with a clean install screen. To save time, here’s a summary of my selections:

  • Choose Language: English
  • Choose Profile: Standard
  • Verify Requirements: Ensured OPCache was enabled
  • Setup Database: Entered my Database Credentials
  • Configure Site: “Check for updates automatically” and “Receive Email Notifications” were both checked.

Overall, a cleaner beginning than what I was used to experiencing when installing Drupal 7. These UI updates, along with the cleaner look & feel resonate across Drupal 8, including the installation process, content management, and administration functionalities.

Figure 2: Drupal 8 Installation

After a minute or two, we finished with the installation process are greeted with the new Drupal 8 layout as shown in Figure 3.

Figure 3: Drupal 8 Layout Including Administration Menus 

Conclusion

Not a bad start to Drupal 8! So far we have found that it is easy to install, it follows many of the same patterns for installation as Drupal 7, and this new layout we saw in Figure 2 & 3 is getting us excited. In our next blog, we’ll take you through the features of Drupal 8, and our first impressions of the site overall.

Social Media: Not Just “A Place for Friends”

Social Media: Not Just “A Place for Friends”

Who didn’t have a “MySpace” account? The hours spent listening to friends’ music, viewing profile pictures, creating interesting (and  preposterous) page backgrounds are imprinted on us and our memories. My first social media account, admittedly was not MySpace, but Facebook in early 2005, when only College Students were allowed to join. MySpace, Facebook, Friendster were just “A Place for Friends”, as MySpace put it so eloquently in their original slogan. These sites have come and gone in countless corporate and popularity battles, but today Facebook now commands a great deal of market  with a market capitalization of over $350 Billion, Twitter at $13 Billion, Instagram at $37 Billion (according to Bank of America Merrill Lynch analysts), and LinkedIn at $25 Billion.

With these sites continuing to mature, the ways in which users interact with them continue to change. With social media beginning to encompass new features, users view social media less as a casual social hub, but a place to network (professional and casually) and a center of information. Users are spending more time than ever on social media, as Digital Trends reports social media users check their sites 17 times a day, at least once to twice an hour. How are social media sites taking advantage of these trends, and how do they continue to draw users in? Let’s look at common social media features, the largest advertisers, monetizing their user-base, and the future of social media.

The Big 3

Developing a social media platform is outwardly simple: create an attractive, easy to use UI (Instagram), create pathways within the network to keep users seeking information from sources they may not conveniently have access to outside of their network (Twitter), and provide users multiple ways to generate and share content on a single platform (Facebook). Since Facebook was launched in 2004 there have been a number of social networks that have been founded, launched, and closed. What differentiates a “good” a platform and a “great” platform is their ability to maintain users and harness their user-base to build and maintain advertising revenue. Platforms like Facebook have been relatively successful at advertising and generating ad revenue, whereas companies like Twitter have recently faltered, with single digit growth projections.

Digital Ad Kings

Let’s be honest, when is the last time you “Yahoo’d” something? I bet it felt strange saying “Yahoo’d,” didn’t it? The truth is, much like Google owns nearly all search traffic, Facebook dominates the social media advertising game with last quarter’s ad revenues topping $4.3 Billion with total revenue rising 52%.

Google (now Alphabet) currently generates more than 40,000 search queries per second. However, with users generating more information from social media (and spending significantly more time on social media sites), ad revenue for Facebook continues to grow where Google ad revenue has begun to plateau, growing only modestly from $17.3 Billion in 2015 to $20.3 Billion in the first quarter of 2016. While Google still commands the lion share of the market, the numbers show Facebook is continuing an upwards ad revenue growth trajectory driven by increased user engagement through their platform.

Monetizing the User-Base

Within a social media platform, users have the ability to customize news feeds and follow pages or celebrities. Mainstream media, such as news outlets are so active on these platforms that a user no longer needs a standard news app. Companies are capitalizing on Facebook’s live streaming and Snapchat stories in order to bring amazing experiences right to the consumer from anywhere in the world. Instagram, Twitter and Facebook all have direct messaging services, making communication an ever-growing component of social media designed to keep you interacting with the platform longer periods of time.

So what are these platforms doing with this strong user base? They’re monetizing it with paid advertising. Facebook, Twitter, Instagram, Pinterest and LinkedIn (and many others) all have comprehensive ad platforms complete with reporting, creative assets, and competitive bid recommendations. As the active user-base continues to grow, social advertising will become more in-tune with these user bases, allowing marketers to zero-in on custom audiences and deliver high-quality, effective advertising.

Moving Onward & Upward

Social Media has evolved from an extended online chat room to a powerhouse of functionalities and features with unprecedentedly large user bases. It is not just “A Place for Friends” anymore. Whether you’re an avid social advertiser or a general consumer, your presence on social means that these networks will continue to evolve to suit your interests, behaviors and needs. Social media will continue to join forces with popular consumer brands, so much so that you may no longer be able to notice the transition from your Facebook native feed to your Amazon cart (notice the right-hand column ads in your Facebook feed, those items look familiar, huh?). One thing is for certain, Social Media isn’t going anywhere but up anytime soon, so keep on posting!

Co-Authored: Michael Brown & Ben Dickshinski of Ascend Integrated

Keep them Coming Back: Brand Loyalty

Keep them Coming Back: Brand Loyalty

Brand loyalty may seem to be an arduous and expensive endeavor for a small or mid-sized firm. With the advent of Social Media Marketing, an additional layer of complexity was added to marketing: engaging your clients directly through posts and tweets. While social media adds complexity, it also enables you as a firm to engage directly with your customers and in the process building your brand loyalty.

We’ll discuss the key differences between brand loyalty and customer loyalty, examples of brands who exceed, and ways social media enables brand loyalty.

Brand Loyalty vs. Customer Loyalty

Oftentimes, brand loyalty and customer loyalty are used interchangeably. Customer loyalty relies on the ability to generate repeat customers based on incentivized offerings such as promotions and lower prices.  Brand loyalty revolves around the customer’s perspective of your company, depending little on discounts, deals or incentives and instead zeroing in on the complete customer experience. Other factors such as quality, brand-to-customer interaction and appeals to Pathos will further dictate the success of your brand loyalty campaign.

Brands Who Get It

Apple

Apple has revolutionized Brand Loyalty, plain and simple.

Today many customers either associate with an Android or Apple product (with some drops of Microsoft). This loyalty extends to personal computers, tablets and smart phones. When Apple launches a new product, thousands of people wait for days outside of Apple stores to be the first with the latest Apple tech.

Apple’s success lies in its marketing strategy; marketing their products as being technologically superior and prestigious. When a customer thinks “Apple” they associate it with “Bleeding Edge.” Other brands have captured this essence in their marketing strategy, such as Gucci and Rolls Royce.

While this gamble and strategy has paid off for these luxury brands, Apple’s price point allows them to sell more and service a higher volume of customers than traditional products marketed in this way. Given the affordability, prestige and consistency in the Apple experience, Apple has secured a fierce and loyal following.

Patagonia

As one of the best brands to embrace the concept of “user generated content,” Patagonia has developed a sincere relationship with their customers going beyond the brick and mortar store. This relationship is alive and well as displayed here on their Instagram profile. Appealing to the customer’s passion for adventure as well as for the environment, Patagonia frequently features user content on their profiles. This strategy is mutually beneficial because it allows Patagonia to use amazing content generated by users while simultaneously promoting their products and cementing a personal relationship with that customer (being featured on a page with 1.8 million followers is pretty cool).

Compared to its competition, Patagonia clothing comes at a premium, however due to their sincere content strategy, appeals to Pathos and commitment to quality. They have been able to cultivate an authentic customer experience that empowers the customer to become brand ambassadors.

Taco Bell

Yes, Taco Bell.

While we do not see many folks talk about how much they love Taco Bell, Taco Bell has been able to do something many companies fail at, they took a product not associated with luxury and built a dominating social media and online marketing presence. Many customers, while not directly Taco Bell fans can tweet a post and tag Taco Bell, and Taco Bell will instantly respond and / or retweet. Focusing relentlessly on customer service, especially through social media and marketing has helped Taco Bell continue to succeed.

Momentology discovered how Taco Bell’s marketing strategy on Social Media has been such a success in driving customers and interest in a brand associated with fast food. An excellent example of brand-to-customer interaction!

Conclusion:

Establishing brand loyalty is a difficult undertaking for many firms, requiring them to utilize different strategies to reach out to customers, and make them feel a passion for the products or services provided. Using a combination of social media (including Twitter / Facebook / Instagram / LinkedIn) along with associating customers to a certain feeling (Apple with quality & superiority).

Have a strategy in place before you begin selling your product, what feelings do you want your customers to associate with your product / service and your brand as a whole?  How will you reach your customers to keep them interested even when they are not on your site or at your store? Without a strong Brand Loyalty strategy in place, it will be difficult for a firm to grow their customer base and increase their bottomline.

Co-Authored by Mike Brown & Ben Dickshinski

Do You Really Need SEO?

Do You Really Need SEO?

In order to answer that question you need to ask yourself two things:

  1. Do you have a website?
  2. Do you want people to find your website?

As of February 2016, Google had over 47 billion webpages indexed. Granted, you won’t be competing for the first page against every single webpage because Google’s search algorithm is engineered specifically so that the user can find the most relevant pages relating to their search as quickly as possible (otherwise, what’s the point?).

Today’s blog will serve as a general overview of how SEO (Search Engine Optimization) can help your business navigate the complexities and nuances of online marketing.

SEO entails content, links, marketing, and keywords.

Who Needs It?

Whether you’re a small mom-and-pop shop or a global organization, SEO will help your business thrive in today’s fast-paced and rapidly changing digital landscape. Ecommerce businesses can make great use of SEO because of the wealth of content and keywords embedded on each page of their site. Further, product pictures, descriptions, new products/promos and reviews make great resources for sharable social content, link-building and blog writing.

Businesses that use their website solely as a content platform (i.e. advertisement and online footprint) benefit from on-page SEO by finding out the keywords ranking highest for their particular industry and using them organically within their own content (blogs, ‘About Us’ section, etc.).

How It Works

SEO can be broken down into a multitude of categories, but most business only need to focus on on-page and off-page SEO. On-page SEO primarily deals with Meta descriptions, alt attributes, title tags, H1 tags and even schema.org attributes. The various text associated with the images and content on your page should have high-ranking keywords used in a natural way in order to help boost your SERP’s (Search Engine Results Page).

Off-page SEO is a little more difficult given that it relies on how much other users value your page. This is called social authority. This has a direct connection with inbound links, the more of these you can obtain from other sites with a high authority, the better optimized your site will be.

If you produce quality content and you have all of your high-ranking keywords imbedded in your content and in your descriptions, then your site will have a very good chance of ranking amongst the best in your industry.

Google Analytics: A Popular SEO Reporting Tool

Bringing It All Together

It’s not enough to drive traffic to your site. You have to be aware of the user experience once they land. That’s why it’s imperative you invest time and effort into ensuring you have optimized page-load times (<3 seconds), mobile optimization (avoiding Google penalties) and optimizing the various channels a user could potentially be visiting from (social media, paid search ads and organic keyword searches). These items may seem trivial, but they’re all part of the complete SEO process. Optimizing your SEO will not only drive traffic to your site, but will ultimately help your company stand out from others when clients search key-terms in search engines

Co-Authored by Mike Brown & Ben Dickshinski