Susan Park, Author at ProdSens.live https://prodsens.live/author/susan-park/ News for Project Managers - PMI Thu, 04 Jul 2024 19:20:32 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://prodsens.live/wp-content/uploads/2022/09/prod.png Susan Park, Author at ProdSens.live https://prodsens.live/author/susan-park/ 32 32 Raw Types and Backward Compatibility https://prodsens.live/2024/07/04/raw-types-and-backward-compatibility/?utm_source=rss&utm_medium=rss&utm_campaign=raw-types-and-backward-compatibility https://prodsens.live/2024/07/04/raw-types-and-backward-compatibility/#respond Thu, 04 Jul 2024 19:20:32 +0000 https://prodsens.live/2024/07/04/raw-types-and-backward-compatibility/ raw-types-and-backward-compatibility

A generic class or interface used without specifying a concrete type, called a raw type, enables backward compatibility…

The post Raw Types and Backward Compatibility appeared first on ProdSens.live.

]]>
raw-types-and-backward-compatibility

A generic class or interface used without specifying a concrete type, called a raw type, enables backward compatibility with earlier versions of Java. You can use a generic class without specifying a concrete type like this:

GenericStack stack = new GenericStack(); // raw type

This is roughly equivalent to

GenericStack stack = new GenericStack();

A generic class such as GenericStack and ArrayList used without a type parameter is called a raw type. Using raw types allows for backward compatibility with earlier versions of Java. For example, a generic type has been used in java.lang.Comparable since JDK 1.5, but a lot of code still uses the raw type Comparable, as shown in the code below:

Image description

Comparable o1 and Comparable o2 are raw type declarations. Be careful: raw types are unsafe. For example, you might invoke the max method using

Max.max(“Welcome”, 23); // 23 is autoboxed into new Integer(23)

This would cause a runtime error, because you cannot compare a string with an integer object. The Java compiler displays a warning on line 3 when compiled with the option –Xlint:unchecked, as shown in Figure below.

Image description

A better way to write the max method is to use a generic type, as shown in the code below.

Image description

If you invoke the max method using

// 23 is autoboxed into new Integer(23)
MaxUsingGenericType.max("Welcome", 23);

a compile error will be displayed, because the two arguments of the max method in MaxUsingGenericType must have the same type (e.g., two strings or two integer objects). Furthermore, the type E must be a subtype of Comparable.

As another example, in the following code you can declare a raw type stack in line 1, assign new GenericStack to it in line 2, and push a string and an integer object to the stack in lines 3 and 4.

1 GenericStack stack;
2 stack = new GenericStack();
3 stack.push("Welcome to Java");
4 stack.push(new Integer(2));

However, line 4 is unsafe because the stack is intended to store strings, but an Integer object is added into the stack. Line 3 should be okay, but the compiler will show warnings for both line 3 and line 4, because it cannot follow the semantic meaning of the program. All the compiler knows is that stack is a raw type, and performing certain operations is unsafe. Therefore, warnings are displayed to alert potential problems.

The post Raw Types and Backward Compatibility appeared first on ProdSens.live.

]]> https://prodsens.live/2024/07/04/raw-types-and-backward-compatibility/feed/ 0 The 10 Dysfunctions of Product Management and How to Overcome Them https://prodsens.live/2024/01/12/the-10-dysfunctions-of-product-management-and-how-to-overcome-them/?utm_source=rss&utm_medium=rss&utm_campaign=the-10-dysfunctions-of-product-management-and-how-to-overcome-them https://prodsens.live/2024/01/12/the-10-dysfunctions-of-product-management-and-how-to-overcome-them/#respond Fri, 12 Jan 2024 00:24:09 +0000 https://prodsens.live/2024/01/12/the-10-dysfunctions-of-product-management-and-how-to-overcome-them/ the-10-dysfunctions-of-product-management-and-how-to-overcome-them

What are the 10 Dysfunctions of Product Management? In short, these are the 10 common problems that most…

The post The 10 Dysfunctions of Product Management and How to Overcome Them appeared first on ProdSens.live.

]]>
the-10-dysfunctions-of-product-management-and-how-to-overcome-them

What are the 10 Dysfunctions of Product Management?

In short, these are the 10 common problems that most product teams face, originally identified by Ben Foster and Rajesh Nerlikar in their best-seller Build What Matters.

Our article explores each of these dysfunctions and shows you how you can leverage Userpilot to overcome them.

Let’s get right to it!

TL;DR

  1. The Hamster Wheel: teams often chase one feature after another without linking them to user needs, resembling a hamster wheel. Solution: create an outcome-based roadmap by identifying customer needs and wants.
  2. The Counting House: an obsession with internal metrics, like customer retention, can make teams lose sight of delivering customer value. Solution: use in-app surveys to collect qualitative customer feedback, focusing on customer satisfaction and UX improvement.
  3. The Ivory Tower: teams that stop consulting customers build products that don’t meet market needs. Solution: interview customers regularly.
  4. The Science Lab: overemphasis on minor optimizations to existing solutions can result in missing out on innovative ideas. Solution: create a balanced product development roadmap focusing on optimization and innovation.
  5. The Feature Factory: prioritizing feature delivery over problem-solving leads to an endless cycle of unimpactful features. Solution: reflect on the underlying problems behind feature requests and focus on innovative solutions.
  6. The Business School: excessive reliance on data can lead to analysis paralysis. Solution: visualize data and run quick experiments to facilitate decision-making.
  7. The Roller Coaster: rapid, frequent changes in direction can lead to wasted resources and a lack of product focus. Solution: align product initiatives with the vision and strategy and validate ideas.
  8. The Bridge to Nowhere: over-engineering for hypothetical future needs creates complex and costly products. Solution: focus on current needs using customer feedback and user behavior tracking for guidance.
  9. The Negotiating Table: trying to please all stakeholders leads to conflicting priorities and neglecting customer needs. Solution: prioritize requests that deliver customer value using feedback and product data.
  10. The Throne Room: centralized decision-making by a single leader slows down processes and undermines team competence. Solution: promote a data-driven decision culture through data democratization initiatives.

Want to learn how Userpilot can help you overcome the 10 dysfunctions of product management? Book the demo!

Dysfunction #1: The Hamster Wheel – a focus on output over outcomes

The first dysfunction, The Hamster Wheel, is about excessive focus on outputs and not outcomes.

What’s the difference?

Outputs are the specific product features, while outcomes are customer problems that need to be solved. There’s nothing wrong with shipping features if they solve genuine problems and add value to the product.

However, many product teams fall into the trap of chasing one feature after another without reflecting on how they link to customer needs. As there are countless features you could build, this never stops. Hence, the name ‘hamster wheel.’

Overcoming this dysfunction with Userpilot

Userpilot offers analytics and feedback features that can help you identify customer pain points inside the product and unsatisfied needs. This will help you create an outcome-based roadmap.

Once you identify the problems to solve and develop the solutions, you can then use Userpilot to track the key customer success metrics to see if they’ve made the desired impact.

Such an approach takes away the pressure to hit shipment deadlines and fosters a customer-centric approach where delivering valuable products matters above all.

funnel-analysis-in-userpilot
Funnel analysis in Userpilot.

Dysfunction #2: The Counting House – an obsession with internal metrics

It’s easy to get carried away with metrics, just like it is with shipping more and more features. That’s because they’re easy to track and can be used to objectively measure progress.

However, if you’re too focused on internal metrics, like monthly active users, you risk becoming the Counting House. Such metrics are a lagging indicator and prioritizing them makes teams lose sight of their ultimate goal, which is delivering value to customers.

Overcoming this dysfunction with Userpilot

To overcome the Counting House dysfunction, look for ways to add more value to the product.

Userpilot’s in-app surveys can help with that.

They are easy to create and customize as there’s a template library and visual editor, and you can use them to collect qualitative customer feedback at scale.

That’s how you can track customer satisfaction with the product and identify ways to improve the customer experience.

Satisfaction survey in Userpilot
Satisfaction survey in Userpilot.

Dysfunction #3: The Ivory Tower – a lack of customer research

The Ivory Tower dysfunction refers to a situation when the product team makes decisions without talking to customers.

This happens when they get too detached from the user base and assume they know the product so well that they don’t need customer research anymore.

As a result, they end up building a product that nobody needs or wants.

Overcoming this dysfunction with Userpilot

To overcome the Ivory Tower dysfunction, make a habit of speaking to your customers regularly. This will help you keep track of their changing needs and ensure that your product strategy reflects it.

With Userpilot, you can easily recruit interview participants.

First, use the segmentation functionality to identify the right users. For example, these could be customers holding a particular role or working in a specific niche.

Next, target them with a modal inviting them to take part in the test. Make sure to offer them an incentive, like a voucher.

Recruiting for interviews with Userpilot
Recruiting for interviews with Userpilot.

Dysfunction #4: The Science Lab – optimization to the exclusion of all else

Science lab product teams focus too much on the optimization of metrics.

Unfortunately, many product teams tend to focus on improving metrics that don’t contribute to product growth. Even if they focus on the right metrics, marginal optimizations will only bring marginal gains. That’s not enough to deliver truly innovative and disruptive solutions.

Overcoming this dysfunction with Userpilot

Userpilot allows product managers to track all metrics from its dashboards so that you have a clear view of your product performance. You can also run the retention analysis report to measure how product changes affect it over time. In this way, you can easily track the impact of optimizations.

Once you notice, that the impact starts getting less significant, you can divert your attention to other aspects of the product development, like expanding product functionality to increase customer value.

Overcoming dysfunctions of product management: Retention analysis in Userpilot
Retention analysis in Userpilot.

Dysfunction #5: The Feature Factory – an assembly line of features

Just like in the hamster wheel, feature factories prioritize delivering features over solving customer problems and adding value.

The main reason why it happens is the belief that you need to keep adding features to stay competitive and retain customers. Companies are afraid that if they don’t have feature parity with competitors or don’t satisfy every feature request, the product will fail.

Overcoming this dysfunction with Userpilot

There’s nothing wrong with collecting feature requests.

What matters is how you act on them. Instead of accommodating every single one, take time to reflect on why customers are requesting the features.

If it turns out your product doesn’t solve a relevant user problem, don’t rush to build the feature just yet. Take time to look for more innovative solutions that will differentiate you from competitors. Otherwise, you will always be playing a catch-up game.

Once you build the solution, collect user feedback and use product analytics to assess their success. Iterate on the feedback before moving on to build the next one.

feature-request-survey
Feature request form in Userpilot.

Dysfunction #6: The Business School – the overuse of science and data

The Business School dysfunction is characterized by excessive reliance on data.

Data is essential to make informed product decisions in SaaS.

However, it’s not practical to make all decisions based on data.

First, some things are obvious. For example, you don’t have to analyze terabytes of data to decide if you need a CTA button.

Secondly, there are tons of data to track, and trying to analyze and make sense of it all may result in an inability to make any decision. As a product manager, you must be able to use your experience and intuition, not just data.

Overcoming this dysfunction with Userpilot

Userpilot can help product managers overcome analysis paralysis in a couple of ways.

The most obvious one is through visualizations.

The platform allows you to visualize key metrics in graphs and charts. This includes trend graphs, funnel charts, retention tables, and feature usage heatmaps.

Thanks to them, it’s very easy to spot trends and patterns without having to pore over the raw data for hours.

Overcoming dysfunctions of product management: Heatmap analysis in Userpilot
Heatmap analysis in Userpilot.

Dysfunction #7: The Roller Coaster – fast-paced twists and turns

Life’s a roller coaster but product management shouldn’t be.

When you make too many sudden course changes, consistent product development isn’t possible. That’s because there isn’t enough time to test and refine ideas.

Such whiplash pivots usually result from the lack of patience of the key stakeholders who want to see immediate results.

However, the outcome is just the opposite: a lot of wasted resources and not much to show for it.

Overcoming this dysfunction with Userpilot

To overcome the dysfunction, go back to the product vision and strategy, and work your way down, ensuring alignment between high-level goals and specific product initiatives.

Before you commit to a feature, take time to validate the idea. For example, use Userpilot to run fake door tests.

Once you start developing features, launch it sooner rather than later to collect real-life data. Track their adoption and collect feedback on how well it satisfies user needs.

If the initial response is not as you’d hoped for, don’t pull the plug too soon. Iterate on the data to improve it.

Overcoming dysfunctions of product management: Userpilot analytics dashboards
Userpilot analytics dashboards.

Dysfunction #8: The Bridge to Nowhere – over-engineering for future unknowns

We talk about building the bridge to nowhere when the team over-engineers the product to accommodate potential future needs.

The catch is that those future needs may never materialize. This means you end up building a product that’s complex and expensive to maintain for no good reason.

Overcoming this dysfunction with Userpilot

Instead of guessing what your product might need in the future, use data to decide what it needs now and make it your focus.

With Userpilot, you can collect customer feedback and track user behavior inside the product to determine how well it satisfies user needs and what functionality is missing.

Moreover, conduct tests and experiments to validate ideas and assumptions to ensure you’re developing solutions to real user problems, not hypothetical ones.

Overcoming dysfunctions of product management: In-app survey in Userpilot
In-app survey in Userpilot.

Dysfunction #9: The Negotiating Table – trying to keep everyone happy

The negotiating table malfunction stems from the false idea that product managers should keep everybody happy.

Such thinking is dangerous because you can never deliver everything that everyone wants.

If you let this fallacy reign over the development process, you will end up constantly negotiating with stakeholders to accommodate their often conflicting requests and not looking after the customers’ needs.

Overcoming this dysfunction with Userpilot

The solution to this dysfunction is collecting customer feedback to determine what they need. Such data will help you not only to prioritize your efforts but also secure the buy-in from the key decision-makers.

With Userpilot, you can tag qualitative responses to NPS surveys to easily identify patterns to inform product decisions.

nps-tagging-in-userpilot
NPS response tagging in Userpilot.

Dysfunction #10: The Throne Room – whipsaw decision-making from the person in charge

The final dysfunction takes place when all decisions are made by the senior person in charge, like the CEO in the throne room.

This is a common occurrence in the startup space when the founders simply can’t let go.

This is suboptimal because it slows down the decision-making process. The sole leader isn’t capable of dealing with the increasing demands to make competent decisions, especially as the product is getting more complex.

It also undermines the people hired to make the decisions, like the product manager.

Overcoming this dysfunction with Userpilot

Data is again the biggest ally when it comes to combating this dysfunction.

By promoting a culture where decisions are based on empirical evidence and people feel comfortable enough to question assumptions openly.

As a no-code platform with an intuitive UI and a flat learning curve, Userpilot can help you democratize data in your organization. By providing teams at all levels with access to data-driven insights, you will give them tools to push back against questionable decisions from the top.

Overcoming dysfunctions of product management: Event tracking in Userpilot
Trend reports in Userpilot.

Conclusion

The 10 dysfunctions of product management negatively harm organizations by diverting focus from customer value and strategic goals to short-term outputs and internal metrics. The consequence is products that don’t meet market needs or drive sustainable growth.

If you want to learn more about how Userpilot can help you overcome the dysfunctions, get the demo!

The post The 10 Dysfunctions of Product Management and How to Overcome Them appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/01/12/the-10-dysfunctions-of-product-management-and-how-to-overcome-them/feed/ 0
Why you MUST Add Logger To your project? https://prodsens.live/2023/12/21/why-you-must-add-logger-to-your-project/?utm_source=rss&utm_medium=rss&utm_campaign=why-you-must-add-logger-to-your-project https://prodsens.live/2023/12/21/why-you-must-add-logger-to-your-project/#respond Thu, 21 Dec 2023 22:24:43 +0000 https://prodsens.live/2023/12/21/why-you-must-add-logger-to-your-project/ why-you-must-add-logger-to-your-project?

When you start developing you application for sure you start with your ide which mostly has a built…

The post Why you MUST Add Logger To your project? appeared first on ProdSens.live.

]]>
why-you-must-add-logger-to-your-project?

When you start developing you application for sure you start with your ide which mostly has a built in debugger, when an error occurs you the debugger pauses the run of the application and tell you that an unexpected exception occurred, but the question here after fixing all bugs you have found “Is Your App Is Now Bug Free?”

the simple answer is “NO” there is no bug free application, so it’s expected that on production your application can encounter bugs again but on this environment there is no debugger attached to tell you if there is an issue and where is it, so what to do?

it’s really common to make good use of informer inside your app to keep track of it’s happening , then when there is an error you can inspect this log and check what is going on.

Why you MUST Add Logger To your project?

as mentioned for a start you need your logger to log all un handled exceptions, but do we need to log only errors?

Log Levels

we have a lot of levels we can use depending on our situation and how important log is.

  1. TRACE : for extremely detailed and fine-grained information. Typically used during development and debugging to trace the flow of execution and inspect variable values.
    Example: Printing variable values, entering or exiting a method, etc.

  2. DEBUG: for messages that are helpful during development and debugging but are less detailed than trace messages. It provides insights into the application’s internal state.
    Example: Displaying the state of key variables, logging method entry and exit points, etc.

  3. INFO: provide high-level information about the application’s status and significant events. It is often used to track the flow of the application in production.
    Example: Startup messages, configuration details, significant state changes, etc.

  4. WARN: for messages that highlight potential problems that do not necessarily lead to errors. Warnings are often used to alert developers or administrators about conditions that may require attention.
    Example: Deprecated features, suboptimal configurations, non-fatal errors, etc.

  5. ERROR: for messages that represent errors or unexpected conditions that may impact the application’s functionality. Errors generally indicate a failure but may not be fatal.

  6. FATAL: for critical errors that are so severe that they lead to the termination of the application. Fatal messages typically indicate a state from which the application cannot recover.
    Example: Unhandled exceptions, unrecoverable system failures, etc.

so logger is important for finding issues only?

actually no, you can use logger for other purposes ,such as

  • Monitoring and Performance Optimization
  • Auditing and Compliance
  • Understanding User Behavior
  • Long-Term Maintenance
  • Security Insights

in the end logger is your snitch inside the app converting it from a black box, having no idea what is happening there into an open book.

The post Why you MUST Add Logger To your project? appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/12/21/why-you-must-add-logger-to-your-project/feed/ 0
Tailwind & Django – Free Starter https://prodsens.live/2023/10/04/tailwind-django-free-starter/?utm_source=rss&utm_medium=rss&utm_campaign=tailwind-django-free-starter https://prodsens.live/2023/10/04/tailwind-django-free-starter/#respond Wed, 04 Oct 2023 09:24:46 +0000 https://prodsens.live/2023/10/04/tailwind-django-free-starter/ tailwind-&-django-–-free-starter

Hello Coders! This article presents an open-source Tailwind & Django project styled with Flowbite, a popular UI Library…

The post Tailwind & Django – Free Starter appeared first on ProdSens.live.

]]>
tailwind-&-django-–-free-starter

Hello Coders!

This article presents an open-source Tailwind & Django project styled with Flowbite, a popular UI Library built on top of Tailwind.

Rocket Django provides a minimal codebase, Tailwind-compatible tooling, Docker, and CI/CD support for Render. The product can be used to bootstrap any type of product on top of Django & Tailwind, two popular technologies for the modern web.

The product can be used in a local environment if NodeJs, Python, and (optionally) Docker are already present and properly configured.

For those interested in compiling the product, here are the steps (manual setup):

✅ Clone/Download the sources

$ git clone https://github.com/app-generator/rocket-django.git
$ cd rocket-django

✅ Install Dependencies

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt

✅ Install Tailwind/Flowbite (another terminal)

$ cd static
$ yarn  
$ npx tailwindcss -i ./src/input.css -o ./dist/css/output.css --watch   

✅ Migrate Database

$ python manage.py makemigrations
$ python manage.py migrate

✅ Start the Django & Tailwind App

$ python manage.py createsuperuser # create the admin
$ python manage.py runserver       # start the project

At this point, we should see the dashboard view provided by the Flowbite dashboard.

Tailwind & Django - Main Dashboard (Desktop & Mobile)

Another way to start the product is to use the Docker Compose Script shipped with the sources. By navigating to the root of the source code, this is what we need to type in the terminal:

$ docker-compose up --build 

For Docker execution, the app starts on localhost:5085

This simple starter also provides a starter page with a responsive navigation bar and a hero section.

Tailwind & Django - The Starter Page (Flowbite Components)

✅ Resources

For more resources and support, follow up on the links & information presented in the following section.

✅ What is Tailwind

Tailwind CSS is a popular utility-first CSS framework used for building responsive and customizable web interfaces. It provides a set of pre-designed utility classes that you can apply directly to HTML elements to style and layout your web pages.

Tailwind CSS is known for its simplicity and flexibility, allowing developers to rapidly create modern and visually appealing user interfaces.

Utility-First ​

Tailwind CSS promotes a utility-first approach to styling, where you apply classes directly to HTML elements to define styles. These classes provide a wide range of styling options, such as colors, typography, spacing, and flexbox-based layouts.

Component-Oriented​

Tailwind CSS can be used in conjunction with component-based frameworks or libraries like Vue.js or React. You can build reusable UI components and apply Tailwind classes to style them.

Plugins​

Tailwind CSS supports plugins that add additional utility classes or functionality. This allows you to tailor the framework to your project’s needs and integrate third-party plugins as well.

What is Tailwind - A popular CSS Framework

✅ What is Django

Django is a high-level, open-source web framework written in Python that enables developers to build web applications quickly and with a clean, pragmatic design.

It follows the “batteries-included” philosophy, providing a comprehensive set of tools and libraries that simplify common web development tasks, such as handling databases, managing user authentication, and generating HTML templates.

Django can be used to code simple websites, CMS (content management system), eCommerce Platforms, APIs, or as an interface to ML/AI systems.

What is Django - A leading Backend Framework crafted in Python

The post Tailwind & Django – Free Starter appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/10/04/tailwind-django-free-starter/feed/ 0
Learning JavaScript the Easy Way: Unlocking the Power of Scope with Closures https://prodsens.live/2023/09/06/learning-javascript-the-easy-way-unlocking-the-power-of-scope-with-closures/?utm_source=rss&utm_medium=rss&utm_campaign=learning-javascript-the-easy-way-unlocking-the-power-of-scope-with-closures https://prodsens.live/2023/09/06/learning-javascript-the-easy-way-unlocking-the-power-of-scope-with-closures/#respond Wed, 06 Sep 2023 21:24:54 +0000 https://prodsens.live/2023/09/06/learning-javascript-the-easy-way-unlocking-the-power-of-scope-with-closures/ learning-javascript-the-easy-way:-unlocking-the-power-of-scope-with-closures

JavaScript’s concept of closure is often misunderstood and confused with lexical scope. To truly grasp the concept of…

The post Learning JavaScript the Easy Way: Unlocking the Power of Scope with Closures appeared first on ProdSens.live.

]]>
learning-javascript-the-easy-way:-unlocking-the-power-of-scope-with-closures

JavaScript’s concept of closure is often misunderstood and confused with lexical scope. To truly grasp the concept of closures, it’s essential to have a good understanding of scopes.

What is a Closure?

A closure is a fundamental JavaScript concept where a function retains access to its parent scope, even after the parent function has finished executing. Closures are defined when a function is declared, not when it is executed.

Imagine a child function nested within a parent function. A closure defines the boundaries within which the child function operates. This means the child function can access not only its own variables but also those defined in its parent function and even global scope variables, if any.

Now what does it mean to have access to the scope of its parent even after its parent function has called. Let look at simple example

let x = 1;

function parentFunction() {
  let count = 2;

  console.log(x);
  console.log(count);

  function childFunction() {
    console.log(x += 1);
    console.log(count += 2);
  }

  return childFunction;
}

const result = parentFunction()

In this example, if we check the console, we’ll see 1 and 2 printed, respectively, but we won’t see any result from the child function. This is because the child function has not been executed yet; we’ve only executed the parent function. However, we’ve also returned the child function, which can now be invoked using result.

Code Snippet showing Closure Execution

To demonstrate this, let’s log the result to the console, revealing that it’s an anonymous function, which is essentially the child function:

console.log(result);

Code Snippet for result

Now, when we invoke the child function using result(), observe the output:

result()
result()

As we can the child function still it access to count variable even though the parent function has already been called and returned and also the x which is a global variable.

Picture showing code result on the console

As you can see, the child function still has access to the count variable, even though the parent function has already been executed and returned. It also has access to the global variable x. However, trying to access count from the global scope would result in a reference error since it’s not accessible at that level.

An Analogy

To simplify our understanding of closures, let’s adopt Feyman’s Technique:

Imagine you have a cookie jar at home with delicious cookies that you love. However, you don’t want anyone in your family to eat them when you’re not looking. To keep your cookies safe, you place them inside a special box with a lock. This box is analogous to a closure in JavaScript, safeguarding your cookies from others.

When you want to enjoy a cookie, you take out the key, unlock the box, and retrieve your cookie. You can enjoy as many cookies as you like. Once you’re done, you put the remaining cookies back inside the box, lock it again, and hide the key.

This way, your cookies remain safe and private, and you can savor them whenever you want without worrying about someone else taking them.

In JavaScript, a closure is like that special box. It protects specific data or variables, keeping them hidden from the rest of the code. When you need to use these variables, you can open the closure, perform your tasks, and then close it to maintain security. Closures empower programmers to manage and safeguard their data, just like your cookie box protects your cookies from family members!

Conclusion

In conclusion, closures in JavaScript are a powerful concept that allows functions to retain access to their parent scope, even after the parent function has completed its execution. They are not only a fundamental aspect of JavaScript but also a tool that can be harnessed to create private variables and manage data effectively.

As we journey through the fascinating world of JavaScript, I urge you to stay curious and explore more intriguing concepts.
So, stay tuned, and let’s learn JavaScript the easy way together!

Further Reading

Excellent article by MDN on closures:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

The post Learning JavaScript the Easy Way: Unlocking the Power of Scope with Closures appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/09/06/learning-javascript-the-easy-way-unlocking-the-power-of-scope-with-closures/feed/ 0
What’s New in Svelte 4: Performance Boosts and Streamlined Development https://prodsens.live/2023/06/25/whats-new-in-svelte-4-performance-boosts-and-streamlined-development/?utm_source=rss&utm_medium=rss&utm_campaign=whats-new-in-svelte-4-performance-boosts-and-streamlined-development https://prodsens.live/2023/06/25/whats-new-in-svelte-4-performance-boosts-and-streamlined-development/#respond Sun, 25 Jun 2023 09:25:14 +0000 https://prodsens.live/2023/06/25/whats-new-in-svelte-4-performance-boosts-and-streamlined-development/ what’s-new-in-svelte-4:-performance-boosts-and-streamlined-development

On the 22th of June, Svelte has announced its new major release. Even if it is presented as…

The post What’s New in Svelte 4: Performance Boosts and Streamlined Development appeared first on ProdSens.live.

]]>
what’s-new-in-svelte-4:-performance-boosts-and-streamlined-development

On the 22th of June, Svelte has announced its new major release.

Even if it is presented as “mainly about setting the ground for these future improvements”, it also bring its share of improvements along with the rework of some of their showcase websites.

If you’re more a listener than a reader, this release has also been recorded on Svelte Radio Live

Table of Content

  • Performance Enhancements
  • Improved Developer Experience
  • Updated Websites
  • Migration Guide
  • What to Expect From Svelte 5

Performance Enhancements

📉 Drastic reduction of the Svelte package

For this release, Svelte sure has lost some weight!

The overall size of Svelte dropped from 10.6 MB to 2.8MB, almost a 75% size decrease.

As its dependencies dropped from 61 to 16, the additional packages needed to run Svelte also have been reduced, also reducing the number of dependencies of SvelteKit.

This reduction brings some nice side effects such as a faster REPL experience, a faster experience on the interactive website and a much faster execution of npm install (of whatever package manager you might be using).

As of this release, Svelte sure is now!

🚿 Improved Hydration

Along with this drop in the package size, Svelte also lighten the code it generates for hydration.

As an example, the code generated for the SvelteKit website has been reduced from 126.3 kB to 110.2 kB, almost 13%.

Improved Developer Experience

🎭 Transitions Scope

Transitions are now local by default.

This prevents them from being global by default and thus risking to interfere with others, resulting in a collision of your transitions during page load.

🧱 Web Components Authoring

Creating a Web Component in Svelte has been pretty easy:

 tag="my-component" />

However it also has been limiting for more advanced cases such as controlling whether or not to reflect updated prop values back to the DOM, disabling the shadow DOM, etc.

Svelte 4 makes the authoring experience of Web Component way smoother by shifting its configuration into a dedicated customElement attribute of svelte:options.

This attribute takes a number of options that helps you configure your Web Component:


  customElement={{
    tag: 'custom-element',
    shadow: 'none',
    props: {
      name: {
        -- 👇 Reflects the updated value back to the DOM -->
        reflect: true,
        
        type: 'Number',
        
        attribute: 'element-index'
      }
    }
  }}
/>



...

🛡 Stricter Types

Stricter types are now enforced for createEventDispatcher, Action, ActionReturn and onMount:

  • createEventDispatcher now looks for the correctness of the provided parameters regarding their type and number and throws the associated errors:
import { createEventDispatcher } from 'svelte';

const dispatch = createEventDispatcher<{
  optional: number | null;
  required: string;
  noArgument: never;
}>();

// Svelte version 3:
dispatch('optional');
dispatch('required'); // Detail argument still omitted
dispatch('noArgument', 'surprise'); // Detail argument still provided

// Svelte version 4 using TypeScript strict mode:
dispatch('optional');
dispatch('required'); // Error, missing argument
dispatch('noArgument', 'surprise'); // Error, cannot pass an argument
  • Action and ActionReturn now have a default parameter type of never if Action has no generic type provided:
const untyped: Action = (node, params) => {
  // Now an error as `params` is expected not to exist
}

const typed: Action<HTMLElement, string> = (node, params) => {
  // `params` is of type string
}
  • onMount now requires its return a synchronous function as an asynchronous one might lead to bugs if the callback is expected to be called on destroy, since this is the case only for synchronous functions:
// ❌ `cleanup()` is not called due to the function being async
onMount(async () => {
  const bar = await foo();
  return cleanup();
});

// ✅ `cleanup()` will be called
onMount(() => {
  foo().then(bar => /* ... */ );
  return cleanup();
});

Updated Websites

📝 Tutorial Website

The tutorial has been reworked for a better user experience:

Former Newer
Legacy Tutorial Newer Tutorial

The design still is the same: a side panel with text and instructions with a code editor on the right to do the exercise.

However, some neat things were improved such as seeing the file structure on the side, reducing the number of elements in the navbar and a better navigation between sections. It also feature a dark mode!

The tutorial now lives on https://learn.svelte.dev while the former is reachable at https://svelte.dev/tutorial/basics

📚 Svelte Website

The Svelte Website also had a rework:

Former Newer
Legacy Page Newer Page

The pages have been split, mobile navigation has been improved, the TypeScript documentation has been enhanced and a dark mode has also been released.

As of now, the SvelteKit website has not yet been updated but a rework to offer a similar experience is currently ongoing.

Migration Guide

This release is shown as a step towards Svelte 5 and not a very impactful one.

In order to upgrade from Svelte 3 to Svelte 4, the team has updated their migration tool and it should not take much more than running the following command:

npx svelte-migrate@latest svelte-4

Please note that the minimum version requirements have been updated and you will need:

  • NodeJS 16 or higher
  • SvelteKit 1.20.4 or higher
  • TypeScript 5 or higher

More details about the requirements are listed in the migration guide

What to Expect From Svelte 5

Almost no information about what is upcoming in Svelte 5 has been shared so far.

However, as Svelte is heavily tied to ESLint, so is its package size. With the current rewrite of ESLint, by the time Svelte 5 is released, its size might drop by over another 50%.

As Svelte is focused on developer experience and efficiency, the changes we will probably see a number of improvements in those areas, as stated in their blog post:

Svelte 5 will bring major new features and performance improvements to Svelte

I hope that you learn something useful there!

The post What’s New in Svelte 4: Performance Boosts and Streamlined Development appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/06/25/whats-new-in-svelte-4-performance-boosts-and-streamlined-development/feed/ 0
Add Google Analytics Tracking Code to All Pages Automatically https://prodsens.live/2023/05/30/add-google-analytics-tracking-code-to-all-pages-automatically/?utm_source=rss&utm_medium=rss&utm_campaign=add-google-analytics-tracking-code-to-all-pages-automatically https://prodsens.live/2023/05/30/add-google-analytics-tracking-code-to-all-pages-automatically/#respond Tue, 30 May 2023 02:24:43 +0000 https://prodsens.live/2023/05/30/add-google-analytics-tracking-code-to-all-pages-automatically/ add-google-analytics-tracking-code-to-all-pages-automatically

If you have many HTML pages in a directory, adding Google Analytics tracking code to all of them…

The post Add Google Analytics Tracking Code to All Pages Automatically appeared first on ProdSens.live.

]]>
add-google-analytics-tracking-code-to-all-pages-automatically

If you have many HTML pages in a directory, adding Google Analytics tracking code to all of them can be a bit frustrating.

In this short tutorial, I show you how to do it with a bash script that automatically does the job.

First, copy the code from your Google Analytics console, and paste it to a file named google-analytics.

Then, write the following code to a file, say add-gtag.sh and give it the execution permission:

chmod u+x ./add-gtag.sh
#!/bin/bash

# From: dotenx.com

# description: 
# Add Google Analytics to all HTML files in a directory. Google Analytics code should be in a file called google-analytics in the same directory as this script.

# usage:
# ./add-gtag.sh directory

# Tested on Mac-zsh


directory="$1"

if [ -d "$directory" ]; then
  for file in "$directory"/*.html; do
    if [[ -f "$file" ]]; then
      sed -i.bak '//r google-analytics' $file
    fi
  done
else
  echo "Directory not found."
fi

rm $directory/*.bak

Now, all you need to do is to execute the script like this:

./add-gtag.sh 

You can find this code here on GitHub too.

The post Add Google Analytics Tracking Code to All Pages Automatically appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/05/30/add-google-analytics-tracking-code-to-all-pages-automatically/feed/ 0
Moonly weekly progress update #45 – First Staking Client https://prodsens.live/2023/04/18/moonly-weekly-progress-update-45-first-staking-client/?utm_source=rss&utm_medium=rss&utm_campaign=moonly-weekly-progress-update-45-first-staking-client https://prodsens.live/2023/04/18/moonly-weekly-progress-update-45-first-staking-client/#respond Tue, 18 Apr 2023 14:01:47 +0000 https://prodsens.live/2023/04/18/moonly-weekly-progress-update-45-first-staking-client/ moonly-weekly-progress-update-#45-–-first-staking-client

Moonly weekly progress update #45 — First Staking Client I think we can celebrate this milestone. Why? Because…

The post Moonly weekly progress update #45 – First Staking Client appeared first on ProdSens.live.

]]>
moonly-weekly-progress-update-#45-–-first-staking-client

Moonly weekly progress update #45 — First Staking Client

I think we can celebrate this milestone. Why? Because we have our first client, Kaimana DAO, using our SaaS (Staking as a Service) in production. Their community already staked 436 tokens, which is pretty cute.

Since most of our tools have been free so far, I think this is a great new beginning for Moonly. We have a lot more work to do. Releasing other tools that are being developed (Portfolio tracker, Sniper, other Discord tools/bots, Royaltie Detection tool, Raffles, etc) and package them correctly, so it can be easy to consume for users and customers and understand the value we are providing.

We also need to improve existing stuff: some things are broken, bugged, or need improvements. It’s natural in the development world, especially if you make such a complex platform like Moonly.

We aim to polish SaaS even more, package it with other tools, and start reaching projects and people.

Discord HVB bot or Staking as a Service is an excellent way for Moonly to grow. If they use our service, they will basically work for us since all their holders/members will need to come to our website, register, and use our tools.

Weekly developer progress:

  • Removed the old component for dropdowns

  • Created the Schema for the resolver

  • Figured out why the published filter was getting slow

  • Fixed the test Moonly bot server

  • Switched Live-feed events history to the Big DB

  • Introduced a switch to disable ad popups on the dev server

  • Discussed the multi-collection feature

  • Implemented multi-threading & scheduler in the Twitter-scraper app

  • Finalized the Ui changes

  • Fixing the multiple instance issues that were crashing the remote server

  • Finished migrating the sniper bot to the Moonly codebase

  • Fixed tx-parser issue with Magiceden

  • Refactored the Twitter space project codes

  • Figuring out how to implement the Twitter authentication system

  • Finished the login UI/UX

  • Added image URL verification

  • Finalise changes to the Big DB structure

Staking (Locking):

  • Created Kaimana tokens

  • Seeded the attribute traits

  • Created a PR for fixing the SuperAdmin issues

  • Adding “Mission Staking” smart contract and local test validator

  • Fixed tx-parser’s previous failing test cases

  • Making staking page info public

  • Researched and created a rough data structure for Mission Account

Check out our latest blog post:

https://moon.ly/blog/twitter-let-users-trade-crypto-stocks-and-other-assets/

Upcoming NFT collections:

https://moon.ly/nft/the-heist

https://moon.ly/nft/nohoomans

https://moon.ly/nft/chads

https://moon.ly/nft/monkey-club

Minted projects worth mentioning:

https://moon.ly/nft/oogy

https://moon.ly/nft/elixir-pfp-collection

https://moon.ly/nft/solcasinoio

https://moon.ly/nft/wolf-capital

The post Moonly weekly progress update #45 – First Staking Client appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/04/18/moonly-weekly-progress-update-45-first-staking-client/feed/ 0
How to Do Market Research: A Guide and Template https://prodsens.live/2023/03/29/how-to-do-market-research-a-guide-and-template/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-do-market-research-a-guide-and-template https://prodsens.live/2023/03/29/how-to-do-market-research-a-guide-and-template/#respond Wed, 29 Mar 2023 12:02:12 +0000 https://prodsens.live/2023/03/29/how-to-do-market-research-a-guide-and-template/ how-to-do-market-research:-a-guide-and-template

Today’s consumers have a lot of power. They can research your product or service and make purchase decisions…

The post How to Do Market Research: A Guide and Template appeared first on ProdSens.live.

]]>
how-to-do-market-research:-a-guide-and-template

Today’s consumers have a lot of power. They can research your product or service and make purchase decisions entirely on their own.

Moreover, rather than talking to one of your sales reps, they’re more likely to ask for referrals from members of their networks or read online reviews.

With this in mind, have you adapted your marketing strategy to complement the way today’s consumers research, shop, and buy?

To do just that, you must have a deep understanding of who your buyers are, your specific market, and what influences the purchase decisions and behavior of your target audience members.

Enter: Market Research.

→ Download Now: Market Research Templates [Free Kit]

Whether you’re new to market research, this guide will provide you with a blueprint for conducting a thorough study of your market, target audience, competition, and more.

Market research can answer various questions about the state of an industry, but it’s hardly a crystal ball that marketers can rely on for insights on their customers. Market researchers investigate several areas of the market, and it can take weeks or even months to paint an accurate picture of the business landscape.

However, researching just one of those areas can make you more intuitive to who your buyers are and how to deliver value that no other business is offering them right now.

Certainly you can make sound judgment calls based on your experience in the industry and your existing customers. However, keep in mind that market research offers benefits beyond those strategies. There are two things to consider:

  1. Your competitors also have experienced individuals in the industry and a customer base. It’s very possible that your immediate resources are, in many ways, equal to those of your competition’s immediate resources. Seeking a larger sample size for answers can provide a better edge.
  2. Your customers don’t represent the attitudes of an entire market. They represent the attitudes of the part of the market that is already drawn to your brand.

The market research services market is growing rapidly, which signifies a strong interest in market research as we enter 2023. The market is expected to grow from roughly $75 billion in 2021 to $90.79 billion in 2025 at a compound annual growth rate of 5%.

Why do market research?

Market research allows you to meet your buyer where they are. As our world (both digital and analog) becomes louder and demands more and more of our attention, this proves invaluable. By understanding your buyer’s problems, pain points, and desired solutions, you can aptly craft your product or service to naturally appeal to them. Once you’re ready to expand your business, you can also use market research to help you create a market development strategy.

Market research also provides insight into a wide variety of things that impact your bottom line, including:

  • Where your target audience and current customers conduct their product or service research
  • Which of your competitors your target audience looks to for information, options, or purchases
  • What’s trending in your industry and in the eyes of your buyer
  • Who makes up your market and what their challenges are
  • What influences purchases and conversions among your target audience
  • Consumer attitudes about a particular topic, pain, product, or brand
  • Whether there’s demand for the business initiatives you’re investing in
  • Unaddressed or underserved customer needs that can be flipped into selling opportunity
  • Attitudes about pricing for a particular product or service

Ultimately, market research allows you to get information from a larger sample size of your target audience, eliminating bias and assumptions so that you can get to the heart of consumer attitudes. As a result, you can make better business decisions from knowing the bigger picture.

As you begin honing in on your market research, you’ll likely hear about primary and secondary market research. The easiest way to think about primary and secondary research is to envision two umbrellas sitting beneath market research: one for primary market research and one for secondary market research.

Beneath these two umbrellas sits a number of different types of market research, which we’ll highlight below. Defining which of the two umbrellas your market research fits beneath isn’t necessarily crucial, although some marketers prefer to make the distinction.

So, in case you encounter a marketer who wants to define your types of market research as primary or secondary — or if you’re one of them — let’s cover the definitions of the two categories next. Then, we’ll look at the different types of market research in the following section.

Primary vs. Secondary Research

To give you an idea of how extensive market research can get, consider that it can either be qualitative or quantitative in nature — depending on the studies you conduct and what you’re trying to learn about your industry.

Qualitative research is concerned with public opinion, and explores how the market feels about the products currently available in that market. Quantitative research is concerned with data, and looks for relevant trends in the information that’s gathered from public records.

There are two main types of market research that your business can conduct to collect actionable information on your products, including primary research and secondary research. Let’s dive into those two types, now.

Primary Research

Primary research is the pursuit of first-hand information about your market and the customers within your market. It’s useful when segmenting your market and establishing your buyer personas. Primary market research tends to fall into one of two buckets: exploratory and specific research.

Exploratory Primary Research

This kind of primary market research is less concerned with measurable customer trends and more about potential problems that would be worth tackling as a team. It normally takes place as a first step — before any specific research has been performed — and may involve open-ended interviews or surveys with small numbers of people.

Specific Primary Research

Specific primary market research often follows exploratory research and is used to dive into issues or opportunities the business has already identified as important. In specific research, the business can take a smaller or more precise segment of their audience and ask questions aimed at solving a suspected problem.

Secondary Research

Secondary research is all the data and public records you have at your disposal to draw conclusions from (e.g. trend reports, market statistics, industry content, and sales data you already have on your business). Secondary research is particularly useful for analyzing your competitors. The main buckets your secondary market research will fall into include:

Public Sources

These sources are your first and most-accessible layer of material when conducting secondary market research. They’re often free to find and review — lots of bang for your buck here.

Government statistics are one of the most common types of public sources according to Entrepreneur. Two U.S. examples of public market data are the U.S. Census Bureau and the Bureau of Labor & Statistics, both of which offer helpful information on the state of various industries nationwide.

Commercial Sources

These sources often come in the form of market reports, consisting of industry insight compiled by a research agency like Pew, Gartner, or Forrester. Because this info is so portable and distributable, it typically costs money to download and obtain.

Internal Sources

Internal sources deserve more credit for supporting market research than they generally get. Why? This is the market data your organization already has!

Average revenue per sale, customer retention rates, and other historical data on the health of old and new accounts can all help you draw conclusions on what your buyers might want right now.

Now that we’ve covered these overarching market research categories, let’s get more specific and look at the various types of market research you might choose to conduct.

1. Interviews

Interviews allow for face-to-face discussions (in-person and virtual) so you can allow for a natural flow or conversation and watch your interviewee’s body language while doing so.

Your interviewees can answer questions about themselves to help you design your buyer personas. These buyer personas describe your ideal customer’s age, family size, budget, job title, the challenges they face at work, and similar aspects of their lifestyle. Having this buyer profile in hand can shape your entire marketing strategy, from the features you add to your product to the content you publish on your website.

2. Focus Groups

Focus groups provide you with a handful of carefully-selected people that can test out your product, watch a demo, provide feedback, and/or answer specific questions.

This type of market research can give you ideas for product differentiation, or the qualities of your product that make it unique in the marketplace. Consider asking your focus group questions about (and showing them examples of) your services, and ultimately use the group’s feedback to make these services better.

3. Product/Service Use Research

Product or service use research offers insight into how and why your audience uses your product or service, and specific features of that item. This type of market research also gives you an idea of the product or service’s usability for your target audience.

In a 2020 report, respondents rated usability testing most highly in terms of usefulness for discovering user insights (rating it 8.7 out of 10). By comparison, digital analytics was rated 7.7, and user surveys 6.4.

4. Observation-Based Research

Observation-based research allows you to sit back and watch the ways in which your target audience members go about using your product or service, what works well in terms of UX, what roadblocks they hit, and which aspects of it could be easier for them to use and apply.

5. Buyer Persona Research

Buyer persona research gives you a realistic look at who makes up your target audience, what their challenges are, why they want your product or service, what they need from your business and brand, and more.

6. Market Segmentation Research

Market segmentation research allows you to categorize your target audience into different groups (or segments) based on specific and defining characteristics — this way, you can determine effective ways to meet their needs, understand their pain points and expectations, learn about their goals, and more.

7. Pricing Research

Pricing research gives you an idea of what similar products or services in your market sell for, what your target audience expects to pay — and is willing to pay — for whatever it is you sell, and what’s a fair price for you to list your product or service at. All of this information will help you define your pricing strategy.

8. Competitive Analysis

Competitive analyses are valuable because they give you a deep understanding of the competition in your market and industry. You can learn about what’s doing well in your industry, what your target audience is already going for in terms of products like yours, which of your competitors should you work to keep up with and surpass, and how you can clearly separate yourself from the competition.

9. Customer Satisfaction and Loyalty Research

Customer satisfaction and loyalty research give you a look into how you can get current customers to return for more business and what will motivate them to do so (e.g. loyalty programs, rewards, remarkable customer service). This research will help you discover the most-effective ways to promote delight among your customers. If you’re using a CRM system, see if you’re able to send out automated customer feedback surveys to aid in this process.

10. Brand Awareness Research

Brand awareness research tells you about what your target audience knows about and recognizes from your brand. It tells you about the associations your audience members make when they think about your business and what they believe you’re all about.

11. Campaign Research

Campaign research entails looking into your past campaigns and analyzing their success among your target audience and current customers. It requires experimentation and then a deep dive into what reached and resonated with your audience so you can keep those elements in mind for your future campaigns and hone in on the aspects of what you do that matters most to those people.

Now that you know about the categories and types of market research, let’s review how you can conduct your market research.

Here’s how to do market research step-by-step.

1. Define your buyer persona.

Before you dive into how customers in your industry make buying decisions, you must first understand who they are.

This is where your buyer personas come in handy. Buyer personas — sometimes referred to as marketing personas — are fictional, generalized representations of your ideal customers.

Use a free tool to create a buyer persona that your entire company can use to market, sell, and serve better.

How to do market research defining your buyer persona

They help you visualize your audience, streamline your communications, and inform your strategy. Some key characteristics you should be keen on including in your buyer persona are:

  • Age
  • Gender
  • Location
  • Job title(s)
  • Job titles
  • Family size
  • Income
  • Major challenges

The idea is to use your persona as a guideline for how to effectively reach and learn about the real audience members in your industry. Also, you may find that your business lends itself to more than one persona — that’s fine! You just need to be thoughtful about each specific persona when you’re optimizing and planning your content and campaigns.

To get started with creating your personas, check out these free templates, as well as this helpful tool.

2. Identify a persona group to engage.

Now that you know who your buyer personas are, use that information to help you identify a group to engage to conduct your market research with — this should be a representative sample of your target customers so you can better understand their actual characteristics, challenges, and buying habits.

The group you identify to engage should also be made of people who recently made a purchase or purposefully decided not to make one. Here are some more guidelines and tips to help you get the right participants for your research.

How to Identify the Right People to Engage for Market Research

When choosing who to engage for your market research, start by focusing on people who have the characteristics that apply to your buyer persona. You should also:

Aim for 10 participants per buyer persona.

We recommend focusing on one persona, but if you feel it’s necessary to research multiple personas, be sure to recruit a separate sample group for each one.

Select people who have recently interacted with you.

You may want to focus on people that have completed an evaluation within the past six months — or up to a year if you have a longer sales cycle or niche market. You’ll be asking very detailed questions so it’s important that their experience is fresh.

Gather a mix of participants.

You want to recruit people who have purchased your product, purchased a competitor’s product, and decided not to purchase anything at all. While your customers will be the easiest to find and recruit, sourcing information from those who aren’t customers (yet!) will help you develop a balanced view of your market.

Here are some more details on how to select this mix of participants:

  • Pull a list of customers who made a recent purchase. As we mentioned before, this is usually the easiest set of buyers to recruit. If you’re using a CRM system with list segmentation capabilities, you can run a report of deals that closed within the past six months and filter it for the characteristics you’re looking for. Otherwise, you can work with your sales team to get a list of appropriate accounts from them.
  • Pull a list of customers who were in an active evaluation, but didn’t make a purchase. You should get a mix of buyers who either purchased from a competitor or decided not to make a purchase. Again, you can get this list from your CRM or from whatever system your Sales team uses to track deals.
  • Call for participants on social media. Try reaching out to the folks that follow you on social media, but decided not to buy from you. There’s a chance that some of them will be willing to talk to you and tell you why they ultimately decided not to buy your product.
  • Leverage your own network. Get the word out to your coworkers, former colleagues, and LinkedIn connections that you’re conducting a study. Even if your direct connections don’t qualify, some of them will likely have a coworker, friend, or family member who does.
  • Choose an incentive. Time is precious, so you’ll need to think about how you will motivate someone to spend 30-45 minutes on you and your study. On a tight budget? You can reward participants for free by giving them exclusive access to content. Another option? Send a simple handwritten ‘thank you’ note once the study is complete.

3. Prepare research questions for your market research participants.

The best way to make sure you get the most out of your conversations is to be prepared. You should always create a discussion guide — whether it’s for a focus group, online survey, or a phone interview — to make sure you cover all of the top-of-mind questions and use your time wisely.

(Note: This is not intended to be a script. The discussions should be natural and conversational, so we encourage you to go out of order or probe into certain areas as you see fit.)

Your discussion guide should be in an outline format, with a time allotment and open-ended questions for each section.

Wait, all open-ended questions?

Yes — this is a golden rule of market research. You never want to “lead the witness” by asking yes and no questions, as that puts you at risk of unintentionally swaying their thoughts by leading with your own hypothesis. Asking open-ended questions also helps you avoid one-word answers (which aren’t very helpful for you).

Example Outline of a 30-Minute Survey

Here’s a general outline for a 30-minute survey for one B2B buyer. You can use these as talking points for an in-person interview, or as questions posed on a digital survey that can be made with tools like HubSpot’s free online form builder, to administer as a survey to your target customers.

Background Information (5 Minutes)

Ask the buyer to give you a little background information (their title, how long they’ve been with the company, and so on). Then, ask a fun/easy question to warm things up (first concert attended, favorite restaurant in town, last vacation, etc.).

Remember, you want to get to know your buyers in pretty specific ways. You might be able to capture basic information such as age, location, and job title from your contact list, there are some personal and professional challenges you can really only learn by asking.

Here are some other key background questions to ask your target audience:

  • Describe how your team is structured.
  • Tell me about your personal job responsibilities.
  • What are the team’s goals and how do you measure them?
  • What has been your biggest challenge in the past year?

Now, make a transition to acknowledge the specific purchase or interaction they made that led to you including them in the study. The next three stages of the buyer’s journey will focus specifically on that purchase.

Awareness (5 Minutes)

Here, you want to understand how they first realized they had a problem that needed to be solved without getting into whether or not they knew about your brand yet.

  • Think back to when you first realized you needed a [name the product/service category, but not yours specifically]. What challenges were you facing at the time?
  • How did you know that something in this category could help you?
  • How familiar were you with different options on the market?

Consideration (10 Minutes)

Now you want to get very specific about how and where the buyer researched potential solutions. Plan to interject to ask for more details.

  • What was the first thing you did to research potential solutions? How helpful was this source?
  • Where did you go to find more information?

If they don’t come up organically, ask about search engines, websites visited, people consulted, and so on. Probe, as appropriate, with some of the following questions:

  • How did you find that source?
  • How did you use vendor websites?
  • What words specifically did you search on Google?
  • How helpful was it? How could it be better?
  • Who provided the most (and least) helpful information? What did that look like?
  • Tell me about your experiences with the sales people from each vendor.
Decision (10 Minutes)
  • Which of the sources you described above was the most influential in driving your decision?
  • What, if any, criteria did you establish to compare the alternatives?
  • What vendors made it to the short list and what were the pros/cons of each?
  • Who else was involved in the final decision? What role did each of these people play?
  • What factors ultimately influenced your final purchasing decision?
Closing

Here, you want to wrap up and understand what could have been better for the buyer.

  • Ask them what their ideal buying process would look like. How would it differ from what they experienced?
  • Allow time for further questions on their end.
  • Don’t forget to thank them for their time and confirm their address to send a thank-you note or incentive.

4. List your primary competitors.

List your primary competitors — keep in mind listing the competition isn’t always as simple as Company X versus Company Y.

Sometimes, a division of a company might compete with your main product or service, even though that company’s brand might put more effort in another area.

For example, Apple is known for its laptops and mobile devices but Apple Music competes with Spotify over its music streaming service.

From a content standpoint, you might compete with a blog, YouTube channel, or similar publication for inbound website visitors — even though their products don’t overlap with yours at all.

And a toothpaste company might compete with magazines like Health.com or Prevention on certain blog topics related to health and hygiene even though the magazines don’t actually sell oral care products.

Identifying Industry Competitors

To identify competitors whose products or services overlap with yours, determine which industry or industries you’re pursuing. Start high-level, using terms like education, construction, media & entertainment, food service, healthcare, retail, financial services, telecommunications, and agriculture.

The list goes on, but find an industry term that you identify with, and use it to create a list of companies that also belong to this industry. You can build your list the following ways:

  • Review your industry quadrant on G2 Crowd: In certain industries, this is your best first step in secondary market research. G2 Crowd aggregates user ratings and social data to create “quadrants,” where you can see companies plotted as contenders, leaders, niche, and high performers in their respective industries. G2 Crowd specializes in digital content, IT services, HR, ecommerce, and related business services.
  • Download a market report: Companies like Forrester and Gartner offer both free and gated market forecasts every year on the vendors who are leading their industry. On Forrester’s website, for example, you can select “Latest Research” from the navigation bar and browse Forrester’s latest material using a variety of criteria to narrow your search. These reports are good assets to save on your computer.
  • Search using social media: Believe it or not, social networks make great company directories if you use the search bar correctly. On LinkedIn, for example, select the search bar and enter the name of the industry you’re pursuing. Then, under “More,” select “Companies” to narrow your results to just the businesses that include this or a similar industry term on their LinkedIn profile.

Identifying Content Competitors

Search engines are your best friends in this area of secondary market research. To find the online publications with which you compete, take the overarching industry term you identified in the section above, and come up with a handful of more specific industry terms your company identifies with.

A catering business, for example, might generally be a “food service” company, but also consider itself a vendor in “event catering,” “cake catering,” “baked goods,” and more.

Once you have this list, do the following:

  • Google it: Don’t underestimate the value in seeing which websites come up when you run a search on Google for the industry terms that describe your company. You might find a mix of product developers, blogs, magazines, and more.
  • Compare your search results against your buyer persona: Remember the buyer persona you created during the primary research stage, earlier in this article? Use it to examine how likely a publication you found through Google could steal website traffic from you. If the content the website publishes seems like the stuff your buyer persona would want to see, it’s a potential competitor, and should be added to your list of competitors.

After a series of similar Google searches for the industry terms you identify with, look for repetition in the website domains that have come up.

Examine the first two or three results pages for each search you conducted. These websites are clearly respected for the content they create in your industry, and should be watched carefully as you build your own library of videos, reports, web pages, and blog posts.

5. Summarize your findings.

Feeling overwhelmed by the notes you took? We suggest looking for common themes that will help you tell a story and create a list of action items.

To make the process easier, try using your favorite presentation software to make a report, as it will make it easy to add in quotes, diagrams, or call clips.

Feel free to add your own flair, but the following outline should help you craft a clear summary:

  • Background: Your goals and why you conducted this study.
  • Participants: Who you talked to. A table works well so you can break groups down by persona and customer/prospect.
  • Executive Summary: What were the most interesting things you learned? What do you plan to do about it?
  • Awareness: Describe the common triggers that lead someone to enter into an evaluation. (Quotes can be very powerful.)
  • Consideration: Provide the main themes you uncovered, as well as the detailed sources buyers use when conducting their evaluation.
  • Decision: Paint the picture of how a decision is really made by including the people at the center of influence and any product features or information that can make or break a deal.
  • Action Plan: Your analysis probably uncovered a few campaigns you can run to get your brand in front of buyers earlier and/or more effectively. Provide your list of priorities, a timeline, and the impact it will have on your business.

Lastly, let’s review a resource that can help you compile everything we just discussed in a simple yet effective way (plus, it’s free!).

Market Research Report Template

Within a market research kit, there are a number of critical pieces of information for your business’s success. Let’s take a look at what those different kit elements are next.

Pro Tip: Upon downloading HubSpot’s free Market Research Kit, you’ll receive editable templates for each of the given parts of the kit as well as instructions on how to use the templates and kit, and a mock presentation that you can edit and customize.

market research kit and templates from HubSpot

Download HubSpot’s free, editable market research report template here.

1. Five Forces Analysis Template

five forces analysis template

Use Porter’s Five Forces Model to understand an industry by analyzing five different criteria and how high the power, threat, or rivalry in each area is — here are the five criteria:

  • Competitive rivalry
  • Threat of new entrants
  • Threat of substitution
  • Buyer power
  • Supplier power

Download a free, editable Five Forces Analysis template here.

2. SWOT Analysis Template

free editable swot analysis template

A SWOT (Strengths, Weaknesses, Opportunities, Threats) analysis looks at your internal strengths and weaknesses, and your external opportunities and threats within the market.

A SWOT analysis highlights direct areas of opportunity your company can continue, build, focus on, and work to overcome.

Download a free, editable SWOT Analysis template here.

3. Market Survey Template

Both market surveys and focus groups (which we’ll cover in the next section) help you uncover important information about your buyer personas, target audience, current customers, market, competition, and more (e.g. demand for your product or service, potential pricing, impressions of your branding, etc.).

Surveys should contain a variety of question types, like multiple choice, rankings, and open-ended responses. Ask quantitative and short-answer questions to save you time and to more easily draw conclusions. (Save longer questions that will warrant more detailed responses for your focus groups.)

Here are some categories of questions you should ask via survey:

  • Demographic questions
  • Business questions
  • Competitor questions
  • Industry questions
  • Brand questions
  • Product questions

Download a free, editable Market Survey template here.

4. Focus Group Template

Focus groups are an opportunity to collect in-depth, qualitative data from your real customers or members of your target audience. You should ask your focus group participants open-ended questions. While doing so, keep these tips top of mind:

  • Set a limit for the number of questions you’re asking (after all, they’re open-ended).
  • Provide participants with a prototype or demonstration.
  • Ask participants how they feel about your price.
  • Ask participants about your competition.
  • Offer participants time at the end of the session for final comments, questions, or concerns.

Download a free, editable Focus Group template here.

Market Research Examples

1. Disney uses kid-centric focus groups to test new characters and ideas.

The Walt Disney Company can spend millions crafting what its Animation Studio team believes is a worthwhile story, but it wisely focuses on its intended audience — children — when testing how well a character or topic performs.

A few times each year, Disney executives meet with preschoolers and kindergartners in kid-centric focus groups to get their opinions and insights on TV episodes, Disney characters, and more.

Why is this an effective market research strategy? Because children are ultimately the audience Disney hopes to delight — so collecting their feedback is invaluable to iterating on their existing content and ensuring it continues to meet its audiences’ preferences.

2. KFC tested its meatless product in select markets before launching nationwide.

In 2019, KFC began developing and testing a new meatless version of its chicken. Rather than instantly rolling the product out nationwide, however, it started small: In select stores in the Atlanta, Georgia area.

This is an easy, effective example of conducting market research to determine how well a new product sells on a smaller scale before dedicating too many resources to it. If the meatless chicken flopped in Georgia, KFC would need to change the product before re-launching it to the market.

3. Yamaha conducted a survey to determine whether they should use knobs or sliding faders on the Montage keyboard.

When Yamaha, a Japanese-based corporation that produces a variety of products ranging from motorcycles to golf cars to musical instruments, began developing its new Montage keyboard, the team was unsure whether to use knobs or sliding faders on the product.

So Yamaha used Qualtrics to send a survey to their customers, and received 400 responses in a few hours.

Using survey feedback helped Yamaha ensure it was designing a product that exactly fit its audiences’ preferences.

4. The Body Shop used social listening to determine how they should reposition brand campaigns to respond to what their customers cared most about.

The Body Shop has long been known for offering ethically sourced and natural products, and proudly touts “sustainability” as a core value.

To dive deeper into the sustainability subtopics that meant the most to their audiences, the team at The Body Shop tracked conversations and ultimately found their audiences cared a lot about refills.

Using this information helped the Body Shop team feel confident when relaunching their Refill Program across 400 stores globally in 2021, and another 400 in 2022. Market research proved they were on the right track with their refill concept, and demonstrated increased efforts were needed to show Body Shop customers that the Body Shop cared about their customers’ values.

Conduct Market Research to Grow Better

Conducting market research can be a very eye-opening experience. Even if you think you know your buyers pretty well, completing the study will likely uncover new channels and messaging tips to help improve your interactions.

Editor’s note: This post was originally published in March 2016 and has been updated for comprehensiveness.

New Call-to-action

The post How to Do Market Research: A Guide and Template appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/03/29/how-to-do-market-research-a-guide-and-template/feed/ 0
The Ultimate Guide to Technical SEO https://prodsens.live/2023/02/24/the-ultimate-guide-to-technical-seo/?utm_source=rss&utm_medium=rss&utm_campaign=the-ultimate-guide-to-technical-seo https://prodsens.live/2023/02/24/the-ultimate-guide-to-technical-seo/#respond Fri, 24 Feb 2023 13:02:26 +0000 https://prodsens.live/2023/02/24/the-ultimate-guide-to-technical-seo/ the-ultimate-guide-to-technical-seo

List three things you’ve done this year that pertain to search engine optimization (SEO). Do these tactics revolve…

The post The Ultimate Guide to Technical SEO appeared first on ProdSens.live.

]]>
the-ultimate-guide-to-technical-seo

List three things you’ve done this year that pertain to search engine optimization (SEO).

Do these tactics revolve around keyword research, meta descriptions, and backlinks?

If so, you’re not alone. When it comes to SEO, these techniques are usually the first ones marketers add to their arsenal.

While these strategies do improve your site’s visibility in organic search, they’re not the only ones you should be employing. There’s another set of tactics that fall under the SEO umbrella.

Technical SEO refers to the behind-the-scenes elements that power your organic growth engine, such as site architecture, mobile optimization, and page speed. These aspects of SEO might not be the sexiest, but they are incredibly important.

The first step in improving your technical SEO is knowing where you stand by performing a site audit. The second step is to create a plan to address the areas where you fall short. We’ll cover these steps in-depth below.

Pro tip: Create a website designed to convert using HubSpot’s free CMS tools.

Improve your website with effective technical SEO. Start by conducting this  audit. 

Technical SEO vs. On-Page SEO vs. Off-Page SEO

Many people break down search engine optimization (SEO) into three different buckets: on-page SEO, off-page SEO, and technical SEO. Let’s quickly cover what each means.

On-Page SEO

On-page SEO refers to the content that tells search engines (and readers!) what your page is about, including image alt text, keyword usage, meta descriptions, H1 tags, URL naming, and internal linking. You have the most control over on-page SEO because, well, everything is on your site.

Off-Page SEO

Off-page SEO tells search engines how popular and useful your page is through votes of confidence — most notably backlinks, or links from other sites to your own. Backlink quantity and quality boost a page’s PageRank. All things being equal, a page with 100 relevant links from credible sites will outrank a page with 50 relevant links from credible sites (or 100 irrelevant links from credible sites.)

Technical SEO

Technical SEO is within your control as well, but it’s a bit trickier to master since it’s less intuitive.

Why is technical SEO important?

You may be tempted to ignore this component of SEO completely; however, it plays an important role in your organic traffic. Your content might be the most thorough, useful, and well-written, but unless a search engine can crawl it, very few people will ever see it.

It’s like a tree that falls in the forest when no one is around to hear it … does it make a sound? Without a strong technical SEO foundation, your content will make no sound to search engines.

tree falls in forest cartoonSource

Let’s discuss how you can make your content resound through the internet.

Understanding Technical SEO

Technical SEO is a beast that is best broken down into digestible pieces. If you’re like me, you like to tackle big things in chunks and with checklists. Believe it or not, everything we’ve covered to this point can be placed into one of five categories, each of which deserves its own list of actionable items.

These five categories and their place in the technical SEO hierarchy is best illustrated by this beautiful graphic that is reminiscent of Maslov’s Hierarchy of Needs but remixed for search engine optimization. (Note that we will use the commonly used term “Rendering” in place of Accessibility.)

technical-seo-checklist-hierarchySource

Technical SEO Audit Fundamentals

Before you begin with your technical SEO audit, there are a few fundamentals that you need to put in place.

Let’s cover these technical SEO fundamentals before we move on to the rest of your website audit.

Audit Your Preferred Domain

Your domain is the URL that people type to arrive on your site, like hubspot.com. Your website domain impacts whether people can find you through search and provides a consistent way to identify your site.

When you select a preferred domain, you’re telling search engines whether you prefer the www or non-www version of your site to be displayed in the search results. For example, you might select www.yourwebsite.com over yourwebsite.com. This tells search engines to prioritize the www version of your site and redirects all users to that URL. Otherwise, search engines will treat these two versions as separate sites, resulting in dispersed SEO value.

Previously, Google asked you to identify the version of your URL that you prefer. Now, Google will identify and select a version to show searchers for you. However, if you prefer to set the preferred version of your domain, then you can do so through canonical tags (which we’ll cover shortly). Either way, once you set your preferred domain, make sure that all variants, meaning www, non-www, http, and index.html, all permanently redirect to that version.

Implement SSL

You may have heard this term before — that’s because it’s pretty important. SSL, or Secure Sockets Layer, creates a layer of protection between the web server (the software responsible for fulfilling an online request) and a browser, thereby making your site secure. When a user sends information to your website, like payment or contact info, that information is less likely to be hacked because you have SSL to protect them.

An SSL certificate is denoted by a domain that begins with “https://” as opposed to “http://” and a lock symbol in the URL bar.

hubspot secure ssl url

Search engines prioritize secure sites — in fact, Google announced as early as 2014 that SSL would be considered a ranking factor. Because of this, be sure to set the SSL variant of your homepage as your preferred domain.

After you set up SSL, you’ll need to migrate any non-SSL pages from http to https. It’s a tall order, but worth the effort in the name of improved ranking. Here are the steps you need to take:

  1. Redirect all http://yourwebsite.com pages to https://yourwebsite.com.
  2. Update all canonical and hreflang tags accordingly.
  3. Update the URLs on your sitemap (located at yourwebsite.com/sitemap.xml) and your robot.txt (located at yourwebsite.com/robots.txt).
  4. Set up a new instance of Google Search Console and Bing Webmaster Tools for your https website and track it to make sure 100% of the traffic migrates over.

Optimize Page Speed

Do you know how long a website visitor will wait for your website to load? Six seconds … and that’s being generous. Some data shows that the bounce rate increases by 90% with an increase in page load time from one to five seconds. You don’t have one second to waste, so improving your site load time should be a priority.

Site speed isn’t just important for user experience and conversion — it’s also a ranking factor.

Use these tips to improve your average page load time:

  • Compress all of your files. Compression reduces the size of your images, as well as CSS, HTML, and JavaScript files, so they take up less space and load faster. 
  • Audit redirects regularly. A 301 redirect takes a few seconds to process. Multiply that over several pages or layers of redirects, and you’ll seriously impact your site speed. 
  • Trim down your code. Messy code can negatively impact your site speed. Messy code means code that’s lazy. It’s like writing — maybe in the first draft, you make your point in 6 sentences. In the second draft, you make it in 3. The more efficient code is, the more quickly the page will load (in general). Once you clean things up, you’ll minify and compress your code.
  • Consider a content distribution network (CDN). CDNs are distributed web servers that store copies of your website in various geographical locations and deliver your site based on the searcher’s location. Since the information between servers has a shorter distance to travel, your site loads faster for the requesting party.
  • Try not to go plugin happy. Outdated plugins often have security vulnerabilities that make your website susceptible to malicious hackers who can harm your website’s rankings. Make sure you’re always using the latest versions of plugins and minimize your use to the most essential. In the same vein, consider using custom-made themes, as pre-made website themes often come with a lot of unnecessary code. 
  • Take advantage of cache plugins. Cache plugins store a static version of your site to send to returning users, thereby decreasing the time to load the site during repeat visits. 
  • Use asynchronous (async) loading. Scripts are instructions that servers need to read before they can process the HTML, or body, of your webpage, i.e. the things visitors want to see on your site. Typically, scripts are placed in the of a website (think: your Google Tag Manager script), where they are prioritized over the content on the rest of the page. Using async code means the server can process the HTML and script simultaneously, thereby decreasing the delay and increasing page load time.

    Here’s how an async script looks: <script async src=”script.js“>script> 

If you want to see where your website falls short in the speed department, you can use this resource from Google.

Once you have your technical SEO fundamentals in place, you’re ready to move onto the next stage — crawlability.

Crawlability Checklist

Crawlability is the foundation of your technical SEO strategy. Search bots will crawl your pages to gather information about your site.

If these bots are somehow blocked from crawling, they can’t index or rank your pages. The first step to implementing technical SEO is to ensure that all of your important pages are accessible and easy to navigate.

Below we’ll cover some items to add to your checklist as well as some website elements to audit to ensure that your pages are prime for crawling.

1. Create an XML sitemap.

Remember that site structure we went over? That belongs in something called an XML Sitemap that helps search bots understand and crawl your web pages. You can think of it as a map for your website. You’ll submit your sitemap to Google Search Console and Bing Webmaster Tools once it’s complete. Remember to keep your sitemap up-to-date as you add and remove web pages.

2. Maximize your crawl budget.

Your crawl budget refers to the pages and resources on your site search bots will crawl.

Because crawl budget isn’t infinite, make sure you’re prioritizing your most important pages for crawling.

Here are a few tips to ensure that you’re maximizing your crawl budget:

  • Remove or canonicalize duplicate pages.
  • Fix or redirect any broken links.
  • Make sure your CSS and Javascript files are crawlable.
  • Check your crawl stats regularly and watch for sudden dips or increases.
  • Make sure any bot or page you’ve disallowed from crawling is meant to be blocked.
  • Keep your sitemap updated and submit it to the appropriate webmaster tools.
  • Prune your site of unnecessary or outdated content.
  • Watch out for dynamically generated URLs, which can make the number of pages on your site skyrocket.

3. Optimize your site architecture.

Your website has multiple pages. Those pages need to be organized in a way that allows search engines to easily find and crawl them. That’s where your site structure — often referred to as your website’s information architecture — comes in.

In the same way that a building is based on architectural design, your site architecture is how you organize the pages on your site.

Related pages are grouped together; for example, your blog homepage links to individual blog posts, which each link to their respective author pages. This structure helps search bots understand the relationship between your pages.

Your site architecture should also shape, and be shaped by, the importance of individual pages. The closer Page A is to your homepage, the more pages link to Page A, and the more link equity those pages have, the more importance search engines will give to Page A.

For example, a link from your homepage to Page A demonstrates more significance than a link from a blog post. The more links to Page A, the more “significant” that page becomes to search engines.

Conceptually, a site architecture could look something like this, where the About, Product, News, etc. pages are positioned at the top of the hierarchy of page importance.

site-architecture-technical-seo

Source

Make sure the most important pages to your business are at the top of the hierarchy with the greatest number of (relevant!) internal links.

4. Set a URL structure.

URL structure refers to how you structure your URLs, which could be determined by your site architecture. I’ll explain the connection in a moment. First, let’s clarify that URLs can have subdirectories, like blog.hubspot.com, and/or subfolders, like hubspot.com/blog, that indicate where the URL leads.

As an example, a blog post titled How to Groom Your Dog would fall under a blog subdomain or subdirectory. The URL might be www.bestdogcare.com/blog/how-to-groom-your-dog. Whereas a product page on that same site would be www.bestdogcare.com/products/grooming-brush.

Whether you use subdomains or subdirectories or “products” versus “store” in your URL is entirely up to you. The beauty of creating your own website is that you can create the rules. What’s important is that those rules follow a unified structure, meaning that you shouldn’t switch between blog.yourwebsite.com and yourwebsite.com/blogs on different pages. Create a roadmap, apply it to your URL naming structure, and stick to it.

Here are a few more tips about how to write your URLs:

  • Use lowercase characters.
  • Use dashes to separate words.
  • Make them short and descriptive.
  • Avoid using unnecessary characters or words (including prepositions).
  • Include your target keywords.

Once you have your URL structure buttoned up, you’ll submit a list of URLs of your important pages to search engines in the form of an XML sitemap. Doing so gives search bots additional context about your site so they don’t have to figure it out as they crawl.

5. Utilize robots.txt.

When a web robot crawls your site, it will first check the /robot.txt, otherwise known as the Robot Exclusion Protocol. This protocol can allow or disallow specific web robots to crawl your site, including specific sections or even pages of your site. If you’d like to prevent bots from indexing your site, you’ll use a noindex robots meta tag. Let’s discuss both of these scenarios.

You may want to block certain bots from crawling your site altogether. Unfortunately, there are some bots out there with malicious intent — bots that will scrape your content or spam your community forums. If you notice this bad behavior, you’ll use your robot.txt to prevent them from entering your website. In this scenario, you can think of robot.txt as your force field from bad bots on the internet.

Regarding indexing, search bots crawl your site to gather clues and find keywords so they can match your web pages with relevant search queries. But, as we’ll discuss later, you have a crawl budget that you don’t want to spend on unnecessary data. So, you may want to exclude pages that don’t help search bots understand what your website is about, for example, a Thank You page from an offer or a login page.

No matter what, your robot.txt protocol will be unique depending on what you’d like to accomplish.

6. Add breadcrumb menus.

Remember the old fable Hansel and Gretel where two children dropped breadcrumbs on the ground to find their way back home? Well, they were on to something.

Breadcrumbs are exactly what they sound like — a trail that guides users to back to the start of their journey on your website. It’s a menu of pages that tells users how their current page relates to the rest of the site.

And they aren’t just for website visitors; search bots use them, too. breadcrumb-navigation-menu-technical-seo

Source

Breadcrumbs should be two things: 1) visible to users so they can easily navigate your web pages without using the Back button, and 2) have structured markup language to give accurate context to search bots that are crawling your site.

Not sure how to add structured data to your breadcrumbs? Use this guide for BreadcrumbList.

7. Use pagination.

Remember when teachers would require you to number the pages on your research paper? That’s called pagination. In the world of technical SEO, pagination has a slightly different role but you can still think of it as a form of organization.

Pagination uses code to tell search engines when pages with distinct URLs are related to each other. For instance, you may have a content series that you break up into chapters or multiple webpages. If you want to make it easy for search bots to discover and crawl these pages, then you’ll use pagination.

The way it works is pretty simple. You’ll go to the of page one of the series and use

rel=”next” to tell the search bot which page to crawl second. Then, on page two, you’ll use rel=”prev” to indicate the prior page and rel=”next” to indicate the subsequent page, and so on.

It looks like this…

On page one:

On page two:

Note that pagination is useful for crawl discovery, but is no longer supported by Google to batch index pages as it once was.

8. Check your SEO log files.

You can think of log files like a journal entry. Web servers (the journaler) record and store log data about every action they take on your site in log files (the journal). The data recorded includes the time and date of the request, the content requested, and the requesting IP address. You can also identify the user agent, which is a uniquely identifiable software (like a search bot, for example) that fulfills the request for a user.

But what does this have to do with SEO?

Well, search bots leave a trail in the form of log files when they crawl your site. You can determine if, when, and what was crawled by checking the log files and filtering by the user agent and search engine.

This information is useful to you because you can determine how your crawl budget is spent and which barriers to indexing or access a bot is experiencing. To access your log files, you can either ask a developer or use a log file analyzer, like Screaming Frog.

Just because a search bot can crawl your site doesn’t necessarily mean that it can index all of your pages. Let’s take a look at the next layer of your technical SEO audit — indexability.

Indexability Checklist

As search bots crawl your website, they begin indexing pages based on their topic and relevance to that topic. Once indexed, your page is eligible to rank on the SERPs. Here are a few factors that can help your pages get indexed.

1. Unblock search bots from accessing pages.

You’ll likely take care of this step when addressing crawlability, but it’s worth mentioning here. You want to ensure that bots are sent to your preferred pages and that they can access them freely. You have a few tools at your disposal to do this. Google’s robots.txt tester will give you a list of pages that are disallowed and you can use the Google Search Console’s Inspect tool to determine the cause of blocked pages.

2. Remove duplicate content.

Duplicate content confuses search bots and negatively impacts your indexability. Remember to use canonical URLs to establish your preferred pages.

3. Audit your redirects.

Verify that all of your redirects are set up properly. Redirect loops, broken URLs, or — worse — improper redirects can cause issues when your site is being indexed. To avoid this, audit all of your redirects regularly.

4. Check the mobile-responsiveness of your site.

If your website is not mobile-friendly by now, then you’re far behind where you need to be. As early as 2016, Google started indexing mobile sites first, prioritizing the mobile experience over desktop. Today, that indexing is enabled by default. To keep up with this important trend, you can use Google’s mobile-friendly test to check where your website needs to improve.

5. Fix HTTP errors.

HTTP stands for HyperText Transfer Protocol, but you probably don’t care about that. What you do care about is when HTTP returns errors to your users or to search engines, and how to fix them.

HTTP errors can impede the work of search bots by blocking them from important content on your site. It is, therefore, incredibly important to address these errors quickly and thoroughly.

Since every HTTP error is unique and requires a specific resolution, the section below has a brief explanation of each, and you’ll use the links provided to learn more about or how to resolve them.

  • 301 Permanent Redirects are used to permanently send traffic from one URL to another. Your CMS will allow you to set up these redirects, but too many of these can slow down your site and degrade your user experience as each additional redirect adds to page load time. Aim for zero redirect chains, if possible, as too many will cause search engines to give up crawling that page.
  • 302 Temporary Redirect is a way to temporarily redirect traffic from a URL to a different webpage. While this status code will automatically send users to the new webpage, the cached title tag, URL, and description will remain consistent with the origin URL. If the temporary redirect stays in place long enough, though, it will eventually be treated as a permanent redirect and those elements will pass to the destination URL.
  • 403 Forbidden Messages mean that the content a user has requested is restricted based on access permissions or due to a server misconfiguration.
  • 404 Error Pages tell users that the page they have requested doesn’t exist, either because it’s been removed or they typed the wrong URL. It’s always a good idea to create 404 pages that are on-brand and engaging to keep visitors on your site (click the link above to see some good examples).
  • 405 Method Not Allowed means that your website server recognized and still blocked the access method, resulting in an error message.
  • 500 Internal Server Error is a general error message that means your web server is experiencing issues delivering your site to the requesting party.
  • 502 Bad Gateway Error is related to miscommunication, or invalid response, between website servers.
  • 503 Service Unavailable tells you that while your server is functioning properly, it is unable to fulfill the request.
  • 504 Gateway Timeout means a server did not receive a timely response from your web server to access the requested information.

Whatever the reason for these errors, it’s important to address them to keep both users and search engines happy, and to keep both coming back to your site.

Even if your site has been crawled and indexed, accessibility issues that block users and bots will impact your SEO. That said, we need to move on to the next stage of your technical SEO audit — renderability.

Renderability Checklist

Before we dive into this topic, it’s important to note the difference between SEO accessibility and web accessibility. The latter revolves around making your web pages easy to navigate for users with disabilities or impairments, like blindness or Dyslexia, for example. Many elements of online accessibility overlap with SEO best practices. However, an SEO accessibility audit does not account for everything you’d need to do to make your site more accessible to visitors who are disabled.

We’re going to focus on SEO accessibility, or rendering, in this section, but keep web accessibility top of mind as you develop and maintain your site.

Renderability Checklist

An accessible site is based on ease of rendering. Below are the website elements to review for your renderability audit.

Server Performance

As you learned above, server timeouts and errors will cause HTTP errors that hinder users and bots from accessing your site. If you notice that your server is experiencing issues, use the resources provided above to troubleshoot and resolve them. Failure to do so in a timely manner can result in search engines removing your web page from their index as it is a poor experience to show a broken page to a user.

HTTP Status

Similar to server performance, HTTP errors will prevent access to your webpages. You can use a web crawler, like Screaming Frog, Botify, or DeepCrawl to perform a comprehensive error audit of your site.

Load Time and Page Size

If your page takes too long to load, the bounce rate is not the only problem you have to worry about. A delay in page load time can result in a server error that will block bots from your webpages or have them crawl partially loaded versions that are missing important sections of content. Depending on how much crawl demand there is for a given resource, bots will spend an equivalent amount of resources to attempt to load, render, and index pages. However, you should do everything in your control to decrease your page load time.

JavaScript Rendering

Google admittedly has a difficult time processing JavaScript (JS) and, therefore, recommends employing pre-rendered content to improve accessibility. Google also has a host of resources to help you understand how search bots access JS on your site and how to improve search-related issues.

Orphan Pages

Every page on your site should be linked to at least one other page — preferably more, depending on how important the page is. When a page has no internal links, it’s called an orphan page. Like an article with no introduction, these pages lack the context that bots need to understand how they should be indexed.

Page Depth

Page depth refers to how many layers down a page exists in your site structure, i.e. how many clicks away from your homepage it is. It’s best to keep your site architecture as shallow as possible while still maintaining an intuitive hierarchy. Sometimes a multi-layered site is inevitable; in that case, you’ll want to prioritize a well-organized site over shallowness.

Regardless of how many layers in your site structure, keep important pages — like your product and contact pages — no more than three clicks deep. A structure that buries your product page so deep in your site that users and bots need to play detective to find them are less accessible and provide a poor experience

For example, a website URL like this that guides your target audience to your product page is an example of a poorly planned site structure: www.yourwebsite.com/products-features/features-by-industry/airlines-case-studies/airlines-products.

Redirect Chains

When you decide to redirect traffic from one page to another, you’re paying a price. That price is crawl efficiency. Redirects can slow down crawling, reduce page load time, and render your site inaccessible if those redirects aren’t set up properly. For all of these reasons, try to keep redirects to a minimum.

Once you’ve addressed accessibility issues, you can move onto how your pages rank in the SERPs.

Rankability Checklist

Now we move to the more topical elements that you’re probably already aware of — how to improve ranking from a technical SEO standpoint. Getting your pages to rank involves some of the on-page and off-page elements that we mentioned before but from a technical lens.

Remember that all of these elements work together to create an SEO-friendly site. So, we’d be remiss to leave out all the contributing factors. Let’s dive into it.

Internal and External Linking

Links help search bots understand where a page fits in the grand scheme of a query and gives context for how to rank that page. Links guide search bots (and users) to related content and transfer page importance. Overall, linking improves crawling, indexing, and your ability to rank.

Backlinkslinks from other sites back to your own — provide a vote of confidence for your site. They tell search bots that External Website A believes your page is high-quality and worth crawling. As these votes add up, search bots notice and treat your site as more credible. Sounds like a great deal right? However, as with most great things, there’s a caveat. The quality of those backlinks matter, a lot.

Links from low-quality sites can actually hurt your rankings. There are many ways to get quality backlinks to your site, like outreach to relevant publications, claiming unlinked mentions, providing relevant publications, claiming unlinked mentions, and providing helpful content that other sites want to link to.

Content Clusters

We at HubSpot have not been shy about our love for content clusters or how they contribute to organic growth. Content clusters link related content so search bots can easily find, crawl, and index all of the pages you own on a particular topic. They act as a self-promotion tool to show search engines how much you know about a topic, so they are more likely to rank your site as an authority for any related search query.

Your rankability is the main determinant in organic traffic growth because studies show that searchers are more likely to click on the top three search results on SERPs. But how do you ensure that yours is the result that gets clicked?

Let’s round this out with the final piece to the organic traffic pyramid: clickability.

Clickability Checklist

While click-through rate (CTR) has everything to do with searcher behavior, there are things you can do to improve your clickability on the SERPs. While meta descriptions and page titles with keywords do impact CTR, we’re going to focus on the technical elements because that’s why you’re here.

Ranking and click-through rate go hand-in-hand because, let’s be honest, searchers want immediate answers. The more your result stands out on the SERP, the more likely you’ll get the click. Let’s go over a few ways to improve your clickability.

1. Use structured data.

Structured data employs a specific vocabulary called schema to categorize and label elements on your webpage for search bots. The schema makes it crystal clear what each element is, how it relates to your site, and how to interpret it. Basically, structured data tells bots, “This is a video,” “This is a product,” or “This is a recipe,” leaving no room for interpretation.

To be clear, using structured data is not a “clickability factor” (if there even is such a thing), but it does help organize your content in a way that makes it easy for search bots to understand, index, and potentially rank your pages.

2. Win SERP features.

SERP features, otherwise known as rich results, are a double-edged sword. If you win them and get the click-through, you’re golden. If not, your organic results are pushed down the page beneath sponsored ads, text answer boxes, video carousels, and the like.

Rich results are those elements that don’t follow the page title, URL, meta description format of other search results. For example, the image below shows two SERP features — a video carousel and “People Also Ask” box — above the first organic result.

video carousel serp feature rich snippet showing results for how to fix an iphone screen

While you can still get clicks from appearing in the top organic results, your chances are greatly improved with rich results.

How do you increase your chances of earning rich results? Write useful content and use structured data. The easier it is for search bots to understand the elements of your site, the better your chances of getting a rich result.

Structured data is useful for getting these (and other search gallery elements) from your site to the top of the SERPs, thereby, increasing the probability of a click-through:

  • Articles
  • Videos
  • Reviews
  • Events
  • How-Tos
  • FAQs (“People Also Ask” boxes)
  • Images
  • Local Business Listings
  • Products
  • Sitelinks

One unicorn SERP feature that has nothing to do with schema markup is Featured Snippets, those boxes above the search results that provide concise answers to search queries.

featured snippet example answering the query how to tie a shoe

Featured Snippets are intended to get searchers the answers to their queries as quickly as possible. According to Google, providing the best answer to the searcher’s query is the only way to win a snippet. However, HubSpot’s research revealed a few additional ways to optimize your content for featured snippets.

4. Consider Google Discover.

Google Discover is a relatively new algorithmic listing of content by category specifically for mobile users. It’s no secret that Google has been doubling down on the mobile experience; with over 50% of searches coming from mobile, it’s no surprise either. The tool allows users to build a library of content by selecting categories of interest (think: gardening, music, or politics).

At HubSpot, we believe topic clustering can increase the likelihood of Google Discover inclusion and are actively monitoring our Google Discover traffic in Google Search Console to determine the validity of that hypothesis. We recommend that you also invest some time in researching this new feature. The payoff is a highly engaged user base that has basically hand-selected the content you’ve worked hard to create.

The Perfect Trio

Technical SEO, on-page SEO, and off-page SEO work together to unlock the door to organic traffic. While on-page and off-page techniques are often the first to be deployed, technical SEO plays a critical role in getting your site to the top of the search results and your content in front of your ideal audience. Use these technical tactics to round out your SEO strategy and watch the results unfold.

Improve your website with effective technical SEO. Start by conducting this  audit.  

 

The post The Ultimate Guide to Technical SEO appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/02/24/the-ultimate-guide-to-technical-seo/feed/ 0