Skip to content

Commit

Permalink
docs(blog): update admin panels post (#6347)
Browse files Browse the repository at this point in the history
  • Loading branch information
necatiozmen authored Sep 19, 2024
1 parent e896e9c commit 6183217
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 4 deletions.
2 changes: 2 additions & 0 deletions documentation/blog/2024-09-17-chakra-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ image: https://refine.ams3.cdn.digitaloceanspaces.com/blog/2023-12-19-chakra-ui/
hide_table_of_contents: false
---

**This article was last updated on September 17, 2024, to expand usage of Chakra UI.**

## Introduction

[Chakra UI](https://chakra-ui.com/) has attracted a lot of attention over the years due to its versatility, ease of use, and customizable approach to integrating into any front-end application.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ image: https://refine.ams3.cdn.digitaloceanspaces.com/blog/2023-12-29-admin-pane
hide_table_of_contents: false
---

**This article was last updated on September 18, 2024, to add sections on Accessibility Features, Performance Optimization, and SEO Considerations for Admin Panels and Dashboards.**

This version reflects the potential updates related to the admin panel content.

## Introduction

Admin panels and dashboards are a vital component in various products, serving as a centralized hub for monitoring, analyzing, and managing different types of data. These dashboards generalize data in a defined manner, providing users with a comprehensive overview of ongoing activities. They are instrumental for organizations, offering extensive insights, analytics, metrics, and control over all operational aspects. Admin panels have demonstrated their value in numerous processes such as customer database management, inventory management, and bug tracking. They have played a significant role in businesses by simplifying complex processes and facilitating data-driven strategies.
Expand Down Expand Up @@ -122,8 +126,8 @@ It also offers a wide range of performance features that ensure the smooth runni

**Community and Support**

Refine.js has a large and active community of developers. Currently, It has more than 17,500 stars and 1400 forks on GitHub.
It has a Discord server with 3000+ people.
Refine.js has a large and active community of developers. Currently, It has more than 27.5K+ stars and 2K+ forks on GitHub.
It has a Discord server with 6000+ people.

## [2.Angular - ngx-admin](https://github.com/akveo/ngx-admin)

Expand Down Expand Up @@ -336,9 +340,83 @@ It uses ASP.NET Core authentication routines for client identity. It also offers

Blazor apps are highly performant, Blazor has a whole array of performance tooling to make your apps fast. You can set up caching, rate limiting, object reuse, and response compression, to scale up your app.

**Community and Support**
## Is SEO Optimization Important in Admin Panels?

Recently, I have been thinking a lot about how much SEO applies to admin panels and whether it matters. Typically, SEO isn’t a top priority for admin panels because they are mostly internal tools. But in some cases, it can still be relevant. Let me explain when SEO matters and how we can optimize for it.

SEO optimization is not critical for most admin panels, since these tools are designed for internal use and aren’t intended to be indexed or ranked by search engines. However, in some specific cases, it may be important:

### Public-Facing Apps

If some parts of the admin panel, such as help sections, documentation, or dashboards, are publicly visible, SEO optimization is necessary to ensure those pages are indexed correctly and rank well on search engines.

### Content Visibility

If there are reports or analytics dashboards that need to be publicly available, SEO helps ensure those pages are discoverable by users.

### Performance Considerations

While performance optimizations—like page speed and mobile responsiveness—aren’t directly related to SEO for internal panels, improving these factors enhances user experience. If we have public-facing elements, optimizing for speed will impact both usability and SEO.

### **SEO Optimization Tips for Admin Panels**

Here are some tips for optimizing admin panels for SEO, particularly in cases where parts of the panel may be publicly accessible:

### Meta Tags

We should include proper meta tags like title, description, and Open Graph for any public-facing pages. This will ensure those pages appear well in search results or when shared on social media. Frameworks like **Next.js** (used with Refine.js) have built-in support for server-side rendering (SSR), which is great for SEO.

### Server-Side Render

Frameworks like **Next.js** and **Angular** offer built-in SSR, which is important for SEO. SSR ensures that content is rendered on the server, allowing search engines to crawl and index pages more smoothly. While Vue and Blazor can use SSR with additional setup, it requires more effort for SEO purposes.

### Page Speed

Fast-loading admin panels improve user experience, and for public pages, they also impact SEO. We can optimize images, use lazy loading, and process JavaScript efficiently to speed up page loads. Lightweight frameworks like **Blazor** and **Vuetify** help keep load times fast, which positively affects SEO for public pages.

### Content Indexing

If parts of the admin panel are public, like documentation, FAQs, or help sections, we should ensure they are indexed correctly by search engines. Clean URLs, sitemaps, and proper use of **robots.txt** help search engines find the right pages. Frameworks like **Refine.js** and **Angular** include built-in SEO support, while **Laravel Nova** and **Django Admin** may require more manual effort.

### Mobile-Friendly

Although admin panels are usually accessed from desktops, some users may view them on mobile. Ensuring responsiveness will improve user experience and impact SEO if any parts of the panel are public. **Vuetify** and **ngx-admin** offer good mobile responsiveness out of the box.

### Structured Data

Adding structured data (like JSON-LD) helps search engines better understand the content of public pages. This is useful if dashboards showing key stats or updates are publicly visible. **Next.js** and **Angular** make adding structured data easier for improved search visibility.

### When It’s Not Important?

For admin panels that are used purely internally, SEO is usually not relevant since these pages don’t need to be indexed by search engines. In these cases, the main focus should be on performance optimization and user experience rather than SEO.

## Bonus: Accessibility Features in Admin Panel Frameworks

I've been looking into some of the admin panel frameworks we're considering and how they handle accessibility features. Accessibility is important, especially if we want to make sure our application is available to any users, including those with disabilities. Here is a quick rundown:

### Refine.js

Refine doesn't have baked-in support for accessibility, but since it's based on React, we can use React's tooling and ARIA attributes to ensure a level of accessibility. For keyboard navigation and screen reader support, we'd have to handle that manually, but there are a number of React libraries that make it easier.

### ngx-admin (Angular)

Angular itself has strong support for accessibility, including built-in ARIA attributes, which is a big plus. ngx-admin follows best practices, providing keyboard navigation and screen reader compatibility right out of the box.

### Vuetify (Vue)

Vuetify is highly focused on accessibility. It has built-in tools for ARIA support and was designed with screen readers and keyboard navigation in mind. It also comes with helper components that make all form controls, buttons, and other elements highly accessible.

### Laravel Nova

By default, Nova doesn't have many accessibility features, but since it's based on Laravel and PHP, we can implement custom solutions. We just need to manually include ARIA attributes and test for keyboard navigation to ensure everything works smoothly.

### Django Admin

Django Admin isn't very accessibility-friendly by default, as it's mainly designed for internal use. We'd need to implement most of the accessibility features ourselves, such as support for screen readers and proper labeling.

### Blazor

Blazor being a Microsoft-owend app is in the .NET community. As of now, the .NET has more than 450,000 stars on Github, and more than 345,000 members on Meetup.
As part of the .NET ecosystem, Blazor does prioritize accessibility standards, but we'd still need to adapt it for our specific needs. Blazor provides some built-in ARIA support and good keyboard navigation features.

## Conclusion

Expand Down

0 comments on commit 6183217

Please sign in to comment.