
LNC Chessboard is a WordPress plugin made for chess content creators and players.
Embed interactive, themed chess game boards and live Chess.com and Lichess player stats, using a shortcode or block.
Show chess games the modern way. Paste a PGN or upload a .pgn file, and your readers get an interactive board right in your post. They can step through the moves, click any move in the notation, or open the position in Lichess analysis.
Add a game with the Chess Game block, or with a shortcode:
[lncchess_game id="123"]
[lncchess_game pgn="1. e4 e5 2. Nf3 Nc6 3. Bb5 a6" theme="green"]
Show any chess.com or Lichess player’s stats, fetched live so ratings are always current.
layout="card".chess.com profiles include ratings with peaks, results per time control, tactics, and Puzzle Rush. Lichess profiles include every time control, games per format, bio, online status, and playing time. Both use free public APIs, so no API key is needed.
Build a shortcode with a live preview under LNC Chessboard Player Profiles, or write one yourself:
[lncchess_profile source="chesscom" username="hikaru"]
[lncchess_profile source="lichess" username="DrNykterstein" theme="light"]
Translated into German, French, Russian, Polish, Turkish, and Brazilian Portuguese. The plugin follows your site language under Settings General. Chess terms such as Blitz, Rapid, PGN, and FIDE stay in English. You can help add your language on translate.wordpress.org.
[lncchess_profile]
Attribute
Values
Default
Description
source
chesscom, lichess
chesscom
Platform to fetch the profile from.
username
Any username
(required)
The player’s username on that platform.
layout
dashboard, card
dashboard
Stats dashboard with charts, or compact card.
theme
dark, light
dark
Visual theme.
[lncchess_game]
Use one of id (a saved game or position), pgn (a one-off game), or fen (a one-off position). Saved settings apply unless you override them.
Attribute
Values
Default
Description
id
A saved game’s post ID
Embed a saved game or position.
pgn
PGN text
Inline game.
fen
A FEN string
Inline position diagram.
theme
brown, blue, green, gray, lnc
brown
Board colour theme.
orientation
white, black
white
Side at the bottom.
light-color
Hex colour, e.g. #ffffff
Custom light squares (use with dark-color).
dark-color
Hex colour, e.g. #9b7fd4
Custom dark squares (use with light-color).
autoplay
true, false
false
Play automatically on load.
speed
slow, normal, fast
normal
Autoplay speed.
show-moves
true, false
true
Show the move list.
show-controls
true, false
true
Show the navigation buttons.
show-analysis
true, false
true
Show the Lichess and Copy FEN buttons.
size
200–1200
auto
Board width in pixels.
LNC Chessboard connects to the following external services. The chess.com and Lichess connections are only made when a Player Profile shortcode is present on a page, or when a user previews a profile in the WordPress admin. The feedback connection is only made when an administrator submits the optional deactivation form.
1. chess.com Published Data API
* Service: chess.com
* URL: https://api.chess.com/pub/
* Purpose: Fetches public player profile data including username, avatar, title, ratings, win/loss/draw record, country, followers, and join date.
* Data sent: The chess.com username entered in the shortcode attribute. No personal data from your WordPress site or its visitors is transmitted.
* Authentication: None required. The chess.com Published Data API is fully public.
* Privacy Policy: https://www.chess.com/legal/privacy
* Terms of Service: https://www.chess.com/legal/user-agreement
2. Lichess Public API
* Service: Lichess (lichess.org)
* URL: https://lichess.org/api/
* Purpose: Fetches public player profile data including username, title, ratings across all time controls, win/loss/draw record, bio, FIDE rating, online status, playing time, and patron status.
* Data sent: The Lichess username entered in the shortcode attribute. No personal data from your WordPress site or its visitors is transmitted.
* Authentication: None required. The Lichess public API is free and open.
* Privacy Policy: https://lichess.org/privacy
* Terms of Service: https://lichess.org/terms-of-service
Caching: All profile API responses are cached on your WordPress server for 5 minutes using WordPress transients. This keeps your chess pages loading fast while ensuring data stays fresh.
3. Lichess Analysis / Import (Game Viewer)
* Service: Lichess (lichess.org)
* URL: https://lichess.org/analysis/ and https://lichess.org/import
* Purpose: Optional, user-initiated handoff from the Game Viewer. When a visitor clicks “Analyze this position” or “Open full game on Lichess”, their browser opens Lichess in a new tab with the current FEN or the game’s PGN.
* Data sent: Only the chess position (FEN) or game (PGN) being viewed, and only when the visitor clicks the button. These requests are made by the visitor’s browser, not your WordPress server. No automatic or background requests are made.
* Privacy Policy: https://lichess.org/privacy
* Terms of Service: https://lichess.org/terms-of-service
4. Deactivation feedback (Google Apps Script)
* Service: Google Apps Script, run by the Late Night Chess team, which saves responses to a private Google Sheet.
* URL: https://script.google.com/
* Purpose: When an administrator deactivates LNC Chessboard, an optional form asks why. Responses help us improve the plugin.
* Data sent: Only if the administrator clicks “Submit & Deactivate”: the chosen reason, the optional comment, the plugin name and version, and the site’s address (for example https://example.com). Nothing is sent when they click “Skip & Deactivate”, close the form, or use bulk deactivation. No visitor data is ever sent.
* Google Privacy Policy: https://policies.google.com/privacy
* Google Terms of Service: https://policies.google.com/terms
LNC Chessboard bundles these open-source JavaScript libraries locally (no external CDN is used at runtime):
LNC Chessboard does not collect, store, or transmit any personal data about your WordPress site’s visitors.
When an administrator deactivates the plugin, an optional feedback form appears. If they choose to submit it, the selected reason, any comment they type, the plugin version, and the site’s address are sent to the Late Night Chess team through Google Apps Script and stored in a private Google Sheet. Nothing is sent if they skip or close the form. Please don’t include personal information in the comment box.
When a Player Profile shortcode is rendered, LNC Chessboard makes a server-side request from your WordPress server to chess.com or Lichess. The only data sent to these external services is the chess username specified in the shortcode — no visitor IP addresses, cookies, or personal information are included in these requests.
Fetched profile data is stored temporarily in your WordPress database as a transient cache for up to 5 minutes, then automatically deleted and refreshed. This data is entirely public information sourced from the respective chess platform’s public API.
For more information on how chess.com and Lichess handle data, refer to their respective privacy policies linked in the External APIs section above.