Die Stadt liegt 14 Kilometer westlich von Šumperk (Mährisch Schönberg) an der Staatsstraße 43 nach Lanškroun (Landskron) im Tal der Březná (Friese) zwischen dem Adlergebirge, Hannsdorfer Bergland (Hanušovická vrchovina) und Hohenstädter Bergland (Zábřežská vrchovina).
Nachbarorte sind Březná, Heroltice und Bukovice im Norden, Horní Studénky im Osten, Jedlí im Südosten, Crhov im Süden, Cotkytle im Südwesten, Polsko und Horní Heřmanice im Westen sowie Rýdrovice im Nordwesten.
Geschichte
Schildberg wurde in der ersten Hälfte des 13. Jahrhunderts deutschrechtlich gegründet und 1248 erstmals urkundlich erwähnt. In einer Urkunde vom 26. Januar 1312 wird ein Johannes von Schildberg genannt. Es gehörte zur Herrschaft Hohenstadt und war bis 1480 im Besitz der Herren von Sternberg. Nach zahlreichen weiteren Besitzerwechseln erwarb es 1602 Jan Odkolek von Újezd. Wegen seiner Beteiligung am böhmischen Ständeaufstand wurde er nach der Schlacht am Weißen Berg enteignet. 1624 wurde Schildberg dem kaisertreuen Statthalter Karl I. von Liechtenstein übergeben, von dem es 1627 dessen Sohn Karl Eusebius von Liechtenstein erbte. Im Dreißigjährigen Krieg wurde Schildberg 1646 von den Schweden geplündert und im Zweiten Schlesischen Krieg 1744 von der preußischen Armee. In den Jahren 1681, 1799 und 1802 kam es zu Zerstörungen durch Stadtbrände. Während der Herrschaft der Liechtensteiner wurde die Gegenreformation durchgeführt und Schildberg der Herrschaft Eisenberg angegliedert.
Nach der Gründung der Tschechoslowakei 1918 gehörte Schildberg zum politischen Bezirk Zábřeh. 1922 erhielt es die amtliche tschechische Ortsbezeichnung Šilperk. 1790 wurden 1720 Einwohner gezählt, und 1980 waren es 2002 Einwohner. Beim Zensus 1930 waren es 1567 Einwohner (davon 489 Tschechen).